《精通Struts:基于MVC的Java Web设计与开发》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:孙卫琴编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2004
  • ISBN:7121000520
  • 页数:496 页
图书介绍:本书详细介绍了在最新的Struts1.1及不久将推出的Struts1.2版本上设计和开发Java Web应用的各种技术。书中内容注重理论与实践相结合,列举了大量具有典型性和实用价值的Web应用实例,并提供了详细的开发和部署步骤。

第1章 Struts与JavaWeb应用简介 1

1.1JavaWeb应用概述 1

1.1.1Servlet组件 2

1.1.2JSP组件 3

1.1.3共享数据在Web应用中的范围 3

1.1.4JavaBean组件及其在Web应用中的范围 5

1.1.5客户化JSP标签 5

1.1.6EJB组件 6

1.1.7XML语言 6

1.2.1请求转发 7

1.2Web组件的三种关联关系 7

1.1.8Web服务器和应用服务器 7

1.2.2请求重定向 8

1.2.3包含 9

1.3MVC概述 9

1.3.1MVC设计模式 10

1.3.2JSPMode11和JSPMode12 11

1.4Struts概述 13

1.4.1Struts实现MVC的机制 13

1.4.2Struts的工作流程 15

1.5小结 17

2.1分析helloapp应用的需求 19

2.2运用Struts框架 19

第2章 Struts应用:helloapp应用 19

2.3创建视图组件 20

2.3.1创建JSP文件 20

2.3.2创建消息资源文件 23

2.3.3创建ActionFormBean 23

2.3.4数据验证 25

2.4创建控制器组件 26

2.4.1Action类的工作机制 28

2.4.2访问封装在MessageResources中的本地化文本 28

2.4.3业务逻辑验证 28

2.4.4访问模型组件 29

2.5创建模型组件 30

2.4.6把HTTP请求转发给合适的视图组件 30

2.4.5向视图组件传递数据 30

2.6创建存放常量的Java文件 31

2.7创建配置文件 32

2.7.1创建Web应用的配置文件 32

2.7.2创建Struts框架的配置文件 33

2.8发布和运行helloapp应用 35

2.8.1服务器端装载hello.jsp的流程 37

2.8.2表单验证的流程 37

2.8.3逻辑验证失败的流程 39

2.8.4逻辑验证成功的流程 40

2.9小结 41

3.1收集和分析应用需求 43

第3章 Struts应用的需求分析与设计 43

3.2设计数据库 44

3.3设计应用的业务逻辑 45

3.3.1访问XML格式的用户信息 45

3.3.2访问数据库 47

3.4设计用户界面 49

3.4.1界面风格 50

3.4.2使用客户化标签 52

3.5设计ActionForm 53

3.6设计Action和Action映射 55

3.6.1设计LogonAction 58

3.6.2设计LogoffAction 60

3.6.3设计InsertAction 61

3.6.4设计SearchAction 62

3.6.5设计DisplayAllAction 63

3.7设计客户化标签 64

3.7.1设计ValidateSessionTag标签 64

3.7.2设计DisplayTag标签 66

3.7.3创建客户化app标签库的TLD文件 67

3.8小结 68

第4章 配置Struts应用 71

4.1Web应用的发布描述文件 71

4.1.1Web应用发布描述文件的文档类型定义(DTD) 71

4.2.1配置Struts的ActionServlet 72

4.2为Struts应用配置web.xml文件 72

4.2.2声明ActionServlet的初始化参数 73

4.2.3配置欢迎文件清单 74

4.2.4配置错误处理 75

4.2.5配置Struts标签库 76

4.3Struts配置文件 77

4.3.1org.apache.struts.config包 77

4.3.2〈struts-config〉元素 79

4.3.3〈data-sources〉元素 80

4.3.4〈form-beans〉元素 82

4.3.5〈global-exceptions〉元素 83

4.3.6〈global-forwards〉元素 84

4.3.7〈action-mappings〉元素 85

4.3.8〈controller〉元素 87

4.3.9〈message-resources〉元素 87

4.3.10〈plug-in〉元素 88

4.3.11配置多应用模块 89

4.4Digester组件 91

4.5Struts控制面板工具 91

4.6重新载入配置文件 93

4.7小结 94

第5章 Struts控制器组件 95

5.1控制器组件的控制机制 95

5.1.1ActionServlet类 96

5.1.2RequestProcessor类 99

5.1.3Action类 105

5.2使用内置的StrutsAction类 112

5.2.1org.apache.struts.actions.ForwardAction类 112

5.2.2org.apache.struts.actions.IncludeAction类 114

5.2.3org.apache.struts.actions.DispatchAction类 115

5.2.4org.apache.struts.actions.LookupDispatchAction类 118

5.2.5org.apache.struts.actions.SwitchAction类 121

5.3利用Token解决重复提交 121

5.4实用类 125

5.4.1RequestUtils类 125

5.4.2TagUtils类 125

5.4.4Globals类 126

5.4.3ModuleUtils类 126

5.5小结 127

第6章 Struts模型组件 129

6.1模型在MVC中的地位 129

6.2模型的概念和类型 130

6.2.1概念模型 130

6.2.2设计模型 131

6.3业务对象(BO) 133

6.3.1业务对象的特征和类型 133

6.3.2业务对象的重要性 134

6.4业务对象的持久化 134

6.4.2数据访问对象(DAO)设计模式 135

6.4.1对业务对象进行持久化的作用 135

6.4.3常用的ORM软件 136

6.5创建netstore应用的模型 137

6.5.1为netstore应用创建模型的步骤 137

6.5.2创建netstore应用的业务对象 138

6.5.3创建netstore应用的数据库 142

6.5.4netstore应用的ORM框架 145

6.5.5联合使用业务代理和DAO模式 155

6.6小结 167

第7章 Struts视图组件 169

7.1视图概述 169

7.2.1DTO数据传输对象 170

7.2在视图中使用JavaBean 170

7.2.2Struts框架提供的DTO:ActionFormBean 171

7.3使用ActionForm 172

7.3.1ActionForm的生命周期 172

7.3.2创建ActionForm 174

7.3.3配置ActionForm 176

7.3.4访问ActionForm 177

7.3.5处理表单跨页 178

7.4使用动态ActionForm 184

7.4.1配置动态ActionForm 185

7.4.2动态ActionForm的reset()方法 186

7.4.5在netstore应用中使用动态ActionForm 187

7.4.4动态ActionForm的表单验证 187

7.4.3访问动态ActionForm 187

7.5小结 189

第8章 扩展Struts框架 191

8.1Struts插件(PlugIn) 191

8.2扩展Struts的配置类 194

8.3控制器扩展点 195

8.3.1扩展ActionServlet类 195

8.3.2扩展RequestProcessor类 196

8.3.3扩展Action类 198

8.4扩展视图组件 200

8.5扩展模型组件 200

8.6小结 204

第9章 Struts应用的国际化 205

9.1本地化与国际化的概念 205

9.2Web应用的中文本地化 206

9.2.1处理HTTP请求数据编码 207

9.2.2处理数据库数据编码 207

9.2.3处理XML配置文件编码 207

9.2.4处理响应结果的编码 208

9.3Java对I18N的支持 208

9.3.1Locale类 208

9.3.2ResourceBundle类 214

9.3.3MessageFormat类和复合消息 214

9.4.1创建Struts的ResourceBundle 216

9.4Struts框架对国际化的支持 216

9.4.2访问ResourceBundle 217

9.5对helloapp应用实现国际化 220

9.5.1对JSP文件的文本、图片和按钮进行国际化 220

9.5.2创建临时中文资源文件 221

9.5.3对临时资源文件进行编码转换 222

9.5.4创建英文资源文件 223

9.5.5采用Servlet过滤器设置请求数据的字符编码 223

9.5.6运行国际化的helloapp应用 225

9.6异常处理的国际化 226

9.7小结 226

101.1validator-rules.xml文件 229

10.1安装和配置Validator框架 229

第10章 Validator验证框架 229

10.1.2validation.xml文件 233

10.1.3Validator插件 237

10.2Validator框架和ActionForm 238

10.3Validator框架和Struts客户化标签 240

10.4在netstore应用中使用Validator框架 241

10.5创建自定义的验证规则 245

10.6在Validator框架中使用JavaScript 247

10.7Validator框架的国际化 250

10.8小结 251

11.1.1Java异常 253

第11章 异常处理 253

11.1Java异常处理 253

11.1.2JVM的方法调用堆栈 254

11.1.3异常处理对性能的影响 255

11.1.4系统异常和应用异常 256

11.1.5使用异常链 256

11.1.6处理多样化异常 258

11.2Struts框架异常处理机制概述 260

11.3Struts框架异常处理机制的细节 261

11.3.1JavaWeb容器处理异常的机制 261

11.3.2ActionServlet类处理异常的机制 261

11.3.3RequestProcessor类处理异常的机制 262

11.3.4ExceptionHandler类处理异常的机制 263

11.4在Struts应用中处理异常的各种方式 266

11.4.1创建异常类 266

11.4.2由JavaWeb容器捕获异常 269

11.4.3以配置方式处理异常 271

11.4.4以编程方式处理异常 277

11.5小结 282

第12章 StrutsHTML标签库 283

12.1用于生成基本的HTML元素的标签 283

12.1.1〈html:html〉标签 288

12.1.2〈html:base〉标签 288

12.1.3〈html:link〉和〈html:rewrite〉标签 289

12.1.4〈html:img〉标签 292

12.2基本的表单标签 293

12.2.1〈html:form〉标签 296

12.2.2〈html:text〉标签 296

12.2.3〈html:cancel〉标签 297

12.2.4〈html:reset〉标签 298

12.2.5〈html:submit〉标签 298

12.2.6〈html:hidden〉标签 299

12.3检查框和单选按钮标签 299

12.3.1〈html:checkbox〉标签 304

12.3.2〈html:multibox〉标签 305

12.3.3〈html:radio〉标签 306

12.4下拉列表和多选列表标签 307

12.4.1〈html:select〉标签 311

12.4.2〈html:option〉标签 312

12.4.3〈html:options〉标签 313

12.4.4〈html:optionsCollection〉标签 314

12.5在表单中上传文件标签 315

12.5.1〈html:file〉标签 319

12.5.2在ActionFormBean中设定FormFile属性 319

12.5.3在Action类中处理文件上传 319

12.6〈html:errors〉标签 320

12.6.1错误消息的来源 324

12.6.3〈html:errors〉标签的用法 326

12.6.2格式化地显示错误消息 326

12.7〈html:messages〉标签 328

12.8小结 330

第13章 StrutsBean标签库 331

13.1访问HTTP请求信息或JSP隐含对象 331

13.1.1〈bean:header〉标签 334

13.1.2〈bean:parameter〉标签 334

13.1.3〈bean:cookie〉标签 335

13.1.4〈bean:page〉标签 336

13.2访问Web应用资源 337

13.2.1〈bean:message〉标签 339

13.2.3〈bean:struts〉标签 341

13.2.2〈bean:resource〉标签 341

13.2.4〈bean:include〉标签 342

13.3定义或输出JavaBean 342

13.3.1〈bean:define〉标签 344

13.3.2〈bean:size〉标签 345

13.3.3〈bean:write〉标签 346

13.4小结 347

第14章 StrutsLogic标签库 349

14.1进行比较运算的Logic标签 349

14.2进行字符串匹配的Logic标签 354

14.3判断指定内容是否存在的Logic标签 356

14.3.1〈logic:empty〉和〈logic:notEmpty〉标签 359

14.3.2〈logic:present〉和〈logic:notPresent〉标签 360

14.3.3〈logic:messagesPresent〉和〈logic:messagesNotPresent〉标签 361

14.4进行循环遍历的Logic标签 363

14.4.1遍历集合 366

14.4.2遍历Map 367

14.4.3设定被遍历的变量 369

14.5进行请求转发或重定向的Logic标签 369

14.5.1〈logic:forward〉标签 369

14.5.2〈logic:redirect〉标签 370

14.6小结 370

15.1〈nested:nest〉和〈nested:writeNesting〉标签 373

第15章 StrutsNested标签库 373

15.2〈nested:root〉标签 379

15.3和其他标签库中的标签功能相同的Nested标签 381

15.4小结 382

第16章 Tiles框架 383

16.1采用基本的JSP语句创建复合式网页 383

16.2采用JSP的include指令创建复合式网页 387

16.3采用〈tiles:insert〉标签创建复合式网页 391

16.4采用Tiles模板创建复合式网页 394

16.5采用Tiles模板和Tiles组件创建复合式网页 396

16.5.1Tiles组件的基本使用方法 397

16.5.2通过StrutsAction来调用Tiles组件 399

16.5.3Tiles组件的组合 399

16.5.4Tiles组件的扩展 402

16.6小结 403

第17章 Struts与EJB组件 405

17.1J2EE体系结构简介 405

17.2创建EJB组件 406

17.2.1编写Remote接口 407

17.2.2编写Home接口 408

17.2.3编写EnterpriseJavaBean类 408

17.3在Struts应用中访问EJB组件 413

17.3.1创建业务代理实现类NetstoreEJBDelegate 413

17.3.2运用EJBHomeFactory模式 416

17.4.1在Jboss-Tomcat上部署EJB组件 419

17.4发布J2EE应用 419

17.4.2在Jboss-Tomcat上部署Web应用 421

17.4.3在Jboss-Tomcat上部署J2EE应用 422

17.5小结 424

第18章 Struts与SOAPWeb服务 425

18.1SOAP简介 425

18.2建立ApacheAXIS环境 427

18.3创建和发布SOAP服务 428

18.3.1创建实现SOAP服务的Java类 428

18.3.2创建Web服务发布描述文件 429

18.3.3发布SOAP服务 432

18.4在Struts应用中访问SOAP服务 432

18.5小结 438

19.1Apache通用日志包概述 439

19.1.1Log接口 439

第19章 Struts与Apache通用日志包 439

19.1.2LogFactory接口 441

19.2常用的日志实现 441

19.2.1NoOpLog日志器 441

19.2.2SimpleLog日志器 442

19.2.3Log4J日志器 442

19.3配置通用日志接口 443

19.3.1准备JAR文件 443

19.3.2指定日志器 443

19.4.1配置Log4J的一般步骤 444

19.3.3设置日志器的属性 444

19.4配置Log4J 444

19.4.2Log4J的配置样例 446

19.4.3Log4J对应用性能的影响 447

19.5在Struts应用中访问通用日志接口 447

19.5.1在Action类中访问通用日志接口 448

19.5.2在JSP中访问通用日志接口 450

19.6小结 454

第20章 用ANT工具管理Struts应用 455

20.1Web应用常用的开发目录结构 455

20.2安装配置ANT 455

20.3创建build.xml文件 456

20.3.1设置公共属性 462

20.3.2设置classpath 463

20.3.3定义helptarget 463

20.3.4定义clean-alltarget 463

20.3.5定义preparetarget 464

20.3.6定义compiletarget 464

20.3.7定义buildtarget 465

20.3.8定义deploytarget 466

20.3.9定义javadoctarget 466

20.4运行ANT 466

20.4.1运行helptarget 466

20.4.2运行deploytarget 467

20.4.3运行javadoctarget 468

20.5小结 468

第21章 用StrutsTestCase测试Struts应用 469

21.1StrutsTestCase简介 469

21.2制订单元测试用例 469

21.3创建StrutsTestCase测试类 470

21.4用ANT工具运行测试程序 471

21.4.1准备必要的JAR文件 471

21.4.2在build.xml文件中定义testtarget 471

21.4.3运行测试程序 472

21.5创建包含多个单元测试用例的测试类 473

21.6小结 475

附录A Struts1.1的UML类框图 476

附录B Struts资源 477

B.1Struts邮件列表 477

B.2Struts资源Web站点 477

B.3Tiles标签库站点 477

B.4Nested标签库站点 478

B.5StrutsGUI工具 478

B.6EasyStruts工程 478

附录C 发布和运行addressbook应用 479

C.1发布addressbook应用 479

C.2运行addressbook应用 479

D.1运行netstore所需的软件 482

附录D 发布和运行netstore应用 482

D.2netstore应用的目录结构 483

D.3安装netstore数据库 484

D.4发布netstore应用 484

D.4.1在工作模式1下发布netstore应用 484

D.4.2在工作模式2下发布netstore应用 485

D.4.3在工作模式3下发布netstore应用 485

D.4.4在工作模式4下发布netstore应用 486

D.4.5在工作模式5下发布netstore应用 486

D.5运行netstore应用 487

附录E 编译本书的JavaWeb样例 491

附录F Struts1.2API的新特征 492