书籍详情

精通Struts:基于MVC的Java Web设计与开发

精通Struts:基于MVC的Java Web设计与开发

作者:孙卫琴编著

出版社:电子工业出版社

出版时间:2004-08-01

ISBN:9787121000522

定价:¥49.00

购买这本书可以去
内容简介
  Struts是目前非常流行的基于MVC的Java Web框架。本书详细介绍了在最新的Struts1.1以及不久将推出的Struts1.2版本上设计和开发Java Web应用的各种技术。本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分体会Struts框架在开放大型、可扩展的Web应用方面发挥的优势。第4章到第7章深入探讨了Struts框架的核心组件ActionServlet和RequestProcessor的实现原理,详细介绍了开发Struts应用的模型、视图和控制器的各种技术,细致的描述了Struts配置文件的每个元素的使用方法。第8章到第9章介绍了开发Struts应用的一些实用技术,如Struts框架的扩展点、Struts应用的国际化,Validator验证框架和异常处理机制等。第12章到第16章结合具体的Struts应用实例,详细介绍了Struts的标签库以及Tiles框架的使用方法。第17章和第18章介绍如何采用EJB和Web服务来实现Struts框架的模型。第19章到第21章介绍了如何采用第三方软件,如Apache Common Logging API、Log4J、ANT和StrutsTestCase,来控制Struts应用的输出日志、管理以及测试Struts应用项目。 书中内容注重理论与实践相结合,列举了大量具有典型性和实用价值的Web应用实例,并提供了详细的开发和部署步骤。随书附赠光盘内容为本书所有范例源程序,以及本书涉及的所有软件的最新版本的安装程序。 本书内容循序渐进,语言深入浅出。无论对于Java Web开发的新手还是行家来说,本书都是精通Struts技术和开发Java Web应用的必备的实用手册。
作者简介
  孙卫琴,1997年毕业于上海交通大学,随后一直从事基于Java的软件开发工作,还从事过J2EE培训和咨询。目前在美国肯特大学作为访问学者,研究课题包括基于Java和XML的电子商务系统、J2EE软件架构、Web服务和网络安全等。代表著作有:《精通Struts:基于MVC的JavaWeb设计与开发》2004《Tomcat与JavaWeb开发技术详解》2004《Java2认证考试指南与试题解析》2002
目录
第1章  Struts与Java Web应用简介  1
1.1  Java Web应用概述  1
1.1.1  Servlet组件  2
1.1.2  JSP组件  3
1.1.3  共享数据在Web应用中的范围  3
1.1.4  JavaBean组件及其在Web应用中的范围  5
1.1.5  客户化JSP标签  5
1.1.6  EJB组件  6
1.1.7  XML语言  6
1.1.8  Web服务器和应用服务器  7
1.2  Web组件的三种关联关系  7
1.2.1  请求转发  7
1.2.2  请求重定向  8
1.2.3  包含  9
1.3  MVC概述  9
1.3.1  MVC设计模式  10
1.3.2  JSP Model1和JSP Model2  11
1.4  Struts概述  13
1.4.1  Struts实现MVC的机制  13
1.4.2  Struts的工作流程  15
1.5  小结  17
第2章  Struts应用:helloapp应用  19
2.1  分析helloapp应用的需求  19
2.2  运用Struts框架  19
2.3  创建视图组件  20
2.3.1  创建JSP文件  20
2.3.2  创建消息资源文件  23
2.3.3  创建ActionForm Bean  23
2.3.4  数据验证  25
2.4  创建控制器组件  26
2.4.1  Action类的工作机制  28
2.4.2  访问封装在MessageResources中的本地化文本  28
2.4.3  业务逻辑验证  28
2.4.4  访问模型组件  29
2.4.5  向视图组件传递数据  30
2.4.6  把HTTP请求转发给合适的视图组件  30
2.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章  Struts应用的需求分析与设计  43
3.1  收集和分析应用需求  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.1  Web应用的发布描述文件  71
4.1.1  Web应用发布描述文件的文档类型定义(DTD)  71
4.2  为Struts应用配置web.xml文件  72
4.2.1  配置Struts的ActionServlet  72
4.2.2  声明ActionServlet的初始化参数  73
4.2.3  配置欢迎文件清单  74
4.2.4  配置错误处理  75
4.2.5  配置Struts标签库  76
4.3  Struts 配置文件  77
4.3.1  org.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.4  Digester 组件  91
4.5  Struts 控制面板工具  91
4.6  重新载入配置文件  93
4.7  小结  94
第5章  Struts控制器组件  95
5.1  控制器组件的控制机制  95
5.1.1  ActionServlet类  96
5.1.2  RequestProcessor类  99
5.1.3  Action类  105
5.2  使用内置的Struts Action类  112
5.2.1  org.apache.struts.actions.ForwardAction类  112
5.2.2  org.apache.struts.actions.IncludeAction类  114
5.2.3  org.apache.struts.actions.DispatchAction类  115
5.2.4  org.apache.struts.actions.LookupDispatchAction类  118
5.2.5  org.apache.struts.actions.SwitchAction类  121
5.3  利用Token解决重复提交  121
5.4  实用类  125
5.4.1  RequestUtils类  125
5.4.2  TagUtils类  125
5.4.3  ModuleUtils类  126
5.4.4  Globals类  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.1  对业务对象进行持久化的作用  135
6.4.2  数据访问对象(DAO)设计模式  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.4  netstore应用的ORM框架  145
6.5.5  联合使用业务代理和DAO模式  155
6.6  小结  167
第7章  Struts视图组件  169
7.1  视图概述  169
7.2  在视图中使用JavaBean  170
7.2.1  DTO数据传输对象  170
7.2.2  Struts框架提供的DTO:ActionForm Bean   171
7.3  使用ActionForm   172
7.3.1  ActionForm的生命周期   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.3  访问动态ActionForm   187
7.4.4  动态ActionForm的表单验证   187
7.4.5  在netstore应用中使用动态ActionForm   187
7.5  小结   189
第8章  扩展Struts框架   191
8.1  Struts插件(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.2  Web应用的中文本地化   206
9.2.1  处理HTTP请求数据编码   207
9.2.2  处理数据库数据编码   207
9.2.3  处理XML配置文件编码   207
9.2.4  处理响应结果的编码   208
9.3  Java对I18N的支持   208
9.3.1  Locale类   208
9.3.2  ResourceBundle类   214
9.3.3  MessageFormat类和复合消息   214
9.4  Struts框架对国际化的支持   216
9.4.1  创建Struts的Resource Bundle   216
9.4.2  访问Resource Bundle   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
第10章  Validator验证框架   229
10.1  安装和配置Validator框架   229
10.1.1  validator-rules.xml文件   229
10.1.2  validation.xml文件   233
10.1.3  Validator插件   237
10.2  Validator框架和ActionForm   238
10.3  Validator框架和Struts客户化标签   240
10.4  在netstore应用中使用Validator框架   241
10.5  创建自定义的验证规则   245
10.6  在Validator框架中使用JavaScript   247
10.7  Validator框架的国际化   250
10.8  小结   251
第11章  异常处理   253
11.1  Java异常处理   253
11.1.1  Java异常   253
11.1.2  JVM的方法调用堆栈   254
11.1.3  异常处理对性能的影响   255
11.1.4  系统异常和应用异常   256
11.1.5  使用异常链   256
11.1.6  处理多样化异常   258
11.2  Struts框架异常处理机制概述   260
11.3  Struts框架异常处理机制的细节   261
11.3.1  Java Web容器处理异常的机制   261
11.3.2  ActionServlet类处理异常的机制   261
11.3.3  RequestProcessor类处理异常的机制   262
11.3.4  ExceptionHandler类处理异常的机制   263
11.4  在Struts应用中处理异常的各种方式   266
11.4.1  创建异常类   266
11.4.2  由Java Web容器捕获异常   269
11.4.3  以配置方式处理异常   271
11.4.4  以编程方式处理异常   277
11.5  小结   282
第12章  Struts HTML标签库   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  在ActionForm Bean中设定FormFile属性   319
12.5.3  在Action类中处理文件上传   319
12.6  <html:errors>标签   320
12.6.1  错误消息的来源   324
12.6.2  格式化地显示错误消息   326
12.6.3  <html:errors>标签的用法   326
12.7  <html:messages>标签   328
12.8  小结   330
第13章  Struts Bean标签库   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.2  <bean:resource>标签   341
13.2.3  <bean:struts>标签   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章  Struts Logic标签库   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章  Struts Nested标签库   373
15.1  <nested:nest>和<nested:writeNesting>标签   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.1  Tiles组件的基本使用方法   397
16.5.2  通过Struts Action来调用Tiles组件   399
16.5.3  Tiles组件的组合   399
16.5.4  Tiles组件的扩展   402
16.6  小结   403
第17章  Struts与EJB组件   405
17.1  J2EE体系结构简介   405
17.2  创建EJB组件   406
17.2.1  编写Remote接口   407
17.2.2  编写Home接口   408
17.2.3  编写Enterprise Java Bean类   408
17.3  在Struts应用中访问EJB组件   413
17.3.1  创建业务代理实现类NetstoreEJBDelegate   413
17.3.2  运用EJBHomeFactory模式   416
17.4  发布J2EE应用   419
17.4.1  在Jboss-Tomcat上部署EJB组件   419
17.4.2  在Jboss-Tomcat上部署Web应用   421
17.4.3  在Jboss-Tomcat上部署J2EE应用   422
17.5  小结   424
第18章  Struts与SOAP Web服务   425
18.1  SOAP简介   425
18.2  建立Apache AXIS环境   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章  Struts与Apache通用日志包   439
19.1  Apache通用日志包概述   439
19.1.1  Log接口   439
19.1.2  LogFactory接口   441
19.2  常用的日志实现   441
19.2.1  NoOpLog日志器   441
19.2.2  SimpleLog日志器   442
19.2.3  Log4J日志器   442
19.3  配置通用日志接口   443
19.3.1  准备JAR文件   443
19.3.2  指定日志器   443
19.3.3  设置日志器的属性   444
19.4  配置Log4J   444
19.4.1  配置Log4J的一般步骤   444
19.4.2  Log4J的配置样例   446
19.4.3  Log4J对应用性能的影响   447
19.5  在Struts应用中访问通用日志接口   447
19.5.1  在Action类中访问通用日志接口   448
19.5.2  在JSP中访问通用日志接口   450
19.6  小结   454
第20章  用ANT工具管理Struts应用   455
20.1  Web应用常用的开发目录结构   455
20.2  安装配置ANT   455
20.3  创建build.xml文件   456
20.3.1  设置公共属性   462
20.3.2  设置classpath   463
20.3.3  定义help target   463
20.3.4  定义clean-all target  463
20.3.5  定义prepare target   464
20.3.6  定义compile target   464
20.3.7  定义build target   465
20.3.8  定义deploy target   466
20.3.9  定义javadoc target   466
20.4  运行ANT   466
20.4.1  运行help target   466
20.4.2  运行deploy target   467
20.4.3  运行javadoc target   468
20.5  小结  468
 
第21章  用StrutsTestCase测试Struts应用   469
21.1  StrutsTestCase简介   469
21.2  制订单元测试用例   469
21.3  创建StrutsTestCase测试类   470
21.4  用ANT工具运行测试程序   471
21.4.1  准备必要的JAR文件   471
21.4.2  在build.xml文件中定义test target   471
21.4.3  运行测试程序   472
21.5  创建包含多个单元测试用例的测试类   473
21.6  小结   475
附录A  Struts1.1的UML类框图   476
附录B  Struts资源  477
B.1  Struts邮件列表  477
B.2  Struts资源Web站点  477
B.3  Tiles标签库站点  477
B.4  Nested 标签库站点  478
B.5  Struts GUI工具  478
B.6  Easy Struts 工程  478
附录C  发布和运行addressbook应用  479
C.1  发布addressbook应用  479
C.2  运行addressbook应用  479
附录D  发布和运行netstore应用  482
D.1  运行netstore所需的软件  482
D.2  netstore应用的目录结构  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  编译本书的Java Web样例   491
附录F  Struts 1.2 API的新特征  492
猜您喜欢

读书导航