品牌:John Carnell
基本信息
·出版社:人民邮电出版社
·页码:409 页码
·出版日:2008年
·ISBN:9787115172273
·条码:9787115172273
·版次:1版
·装帧:平装
·开本:16 16
·中文:中文
·丛书名:图灵程序设计丛书·Java系列
内容简介
本书详细介绍了Struts MVC Web 框架的使用方法,可以帮助读者解决在日常Web 应用程序开发中遇到的各种难题。不合理的设计会导致对Struts 框架的长期依赖,这会使代码复用变得非常复杂。本书基于Struts 1.2 版对此类问题给出了专业的解决方案。本书的重点在于如何发现常见的设计错误(反模式)以及如何使用Struts 来解决这些问题。本书内容丰富,信息全面,主要内容包括模式和反模式、Struts 基础及其高级知识、Tiles 框架、日志和调试、elocity 模板引擎、Struts 和Ajax 等。通过本书,读者不仅能够深入地了解Struts 的工作原理,而且还能掌握处理日常开发中遇到的问题的有效方法。
本书适合于所有具备一定开发经验并掌握JSP、servlet 以及Struts 基础知识的高级读者阅读。
目录
第1章 我们做错了什么:Web反模式解释1
1.1 本书主要内容2
1.2 本章主要内容3
1.3 Web应用程序开发面临的挑战4
1.3.1 企业服务5
1.3.2 应用服务6
1.4 模式和反模式介绍7
1.4.1 Web应用程序反模式8
1.4.2 Concern Slush9
1.4.3 Tier Leakage11
1.4.4 Hardwired13
1.4.5 Validation Confusion15
1.4.6 Tight-Skins17
1.4.7 Data Madness18
1.5 反模式、JOS框架以及经济学20
1.6 小结24
第2章 Struts基础25
2.1 JavaEdge应用程序架构26
2.1.1 设计26
2.1.2 使用Struts实现MVC模式28
2.1.3 起步:JavaEdge源代码树30
2.1.4 Command模式的作用40
2.2 构造表示层44
2.2.1 JavaEdge主页45
2.2.2 Bean标签48
2.2.3 逻辑标签57
2.2.4 迭代式标签58
2.2.5 条件式标签58
2.2.6 移动式标签61
2.3 小结62
第3章 使用Struts的表单表示和验证机制64
3.1 表单验证的问题64
3.2 使用Struts进行表单验证65
3.3 使用Struts实现表单验证67
3.3.1 struts-config.xml文件68
3.3.2 Struts ActionForm类69
3.3.3 使用数据预先填充ActionForm75
3.3.4 其他预先填充技术78
3.3.5 正确地预先填充表单79
3.3.6 验证表单数据80
3.4 Struts HTML标签库88
3.4.1 建立Struts HTML表单90
3.4.2 使用文本和文本域输入字段92
3.4.3 下拉列表、复选框和单选框93
3.4.4 创建更加动态的ActionForm95
3.4.5 ActionForm和业务逻辑101
3.5 小结106
第4章 使用Struts管理业务逻辑107
4.1 业务逻辑反模式和Struts107
4.1.1 Concern Slush和Struts108
4.1.2 Tier Leakage和Struts113
4.1.3 分离业务逻辑和Struts115
4.2 实现设计模式117
4.2.1 实现Business Delegate模式117
4.2.2 实现Service Locator模式122
4.2.3 继续研究服务定位器130
4.2.4 EJB和Struts134
4.3 处理Action类中的异常140
4.3.1 Struts 1.0.x的异常处理141
4.3.2 Struts 1.1和以后版本的异常处理143
4.3.3 重新编写ApplicationException类143
4.3.4 设置struts-config.xml文件144
4.3.5 编写定制的ExceptionHandler146
4.4 小结149
第5章 使用ObjectRelational Bridge实现数据访问层的架构151
5.1 开发数据访问策略152
5.1.1 JavaEdge应用程序的数据访问模型153
5.1.2 值对象158
5.1.3 JavaEdge值对象159
5.1.4 使用O/R映射工具162
5.1.5 设置对象/关系映射165
5.1.6 使用哪个序列管理器174
5.2 使用OJB180
5.2.1 数据检索:一个简单的例子185
5.2.2 数据检索:一个更复杂的范例187
5.2.3 使用OJB存储数据189
5.2.4 使用OJB删除数据190
5.3 集成前面的代码191
5.4 小结194
第6章 使用Tiles框架创建灵活的前端应用196
6.1 Tiles框架是什么197
6.2 启用Struts 1.1版本以使用Tiles198
6.2.1 配置Tiles插件199
6.2.2 tiles-defs.xml文件201
6.2.3 添加Tiles TLD201
6.2.4 第一个Tiles模板201
6.3 Tiles定义是什么204
6.4 Tiles定义:基于JSP的方法205
6.4.1 覆写Tiles定义的属性值207
6.4.2 在Tiles定义中使用哑值207
6.4.3 JSP Tiles定义的劣势208
6.4.4 分析tiles-defs.xml文件209
6.4.5 使用Tiles定义的继承性209
6.4.6 扩展Tiles定义212
6.4.7 修改template.jsp文件213
6.4.8 给tiles-defs.xml文件添加一个新的定义214
6.4.9 修改.homePage定义215
6.5 把Tiles定义映射到Action Forwards216
6.6 小结219
第7章 动态表单和Struts验证框架221
7.1 动态表单简介222
7.1.1 定义postStoryForm Struts表单bean222
7.1.2 实现postStoryDynaForm.java类223
7.1.3 关于BeanUtils和上述代码的思考228
7.2 Jakarta Commons Validator框架231
7.2.1 Validator框架设置231
7.2.2 实现必填字段验证232
7.2.3 maxlength验证规则235
7.3 在ActionForm类中使用Validator框架237
7.3.1 编写自己的验证规则239
7.3.2 实现粗俗性规则239
7.3.3 向validator-rules.xml文件添加粗俗性检查规则243
7.3.4 Struts验证和潜在的长期后果245
7.3.5 在表单中实现粗俗性规则246
7.3.6 不使用Java的ActionForm247
7.3.7 何时使用Validator框架247
7.4 小结248
第8章 使用XDoclet加速Struts开发250
8.1 安装XDoclet251
8.2 XDoclet到底是什么252
8.2.1 从XDoclet到源代码及其之间的步骤255
8.2.2 可用的XDoclet标签256
8.2.3 分析一个XDoclet标签257
8.3 集成Ant和XDoclet258
8.4 XDoclet和Struts262
8.4.1 声明Struts表单bean262
8.4.2 声明Struts动作263
8.4.3 XDoclet和Java继承264
8.4.4 声明应用程序异常264
8.4.5 使用 webdoclet ... / 构建strutsconfig.xml文件266
8.4.6 XDoclet和Validator框架267
8.4.7 从Ant生成Validator标签270
8.5 小结272
第9章 日志和调试274
9.1 为什么使用日志275
9.2 简单的Web应用程序日志276
9.2.1 ServletContext提供的日志276
9.2.2 使用Commons Logging277
9.3 Java 1.4日志API281
9.3.1 Apache log4j284
9.3.2 使用log4j和Cmmons Logging285
9.3.3 日志继承289
9.3.4 日志性能292
9.3.5 日志最佳实践292
9.3.6 JBoss和log4j296
9.3.7 在JavaEdge应用程序中集成日志297
9.3.8 Web层的日志303
9.3.9 使用JBoss和Eclipse调试Struts应用程序305
9.3.10 调试JavaEdge应用程序306
9.3.11 快速部署能力307
9.3.12 调试Struts框架308
9.4 小结308
第10章 Velocity模板引擎309
10.1 模板引擎是什么309
10.2 开始行动310
10.2.1 Velocity类和VelocityContext类311
10.2.2 Velocity引擎语言312
10.2.3 变量313
10.2.4 访问变量313
10.2.5 变量值313
10.2.6 JavaBean属性318
10.2.7 算术318
10.2.8 指令319
10.2.9 宏327
10.2.10 Struts和Velocity328
10.3 使用Velocity的最佳实践335
10.3.1 使用宏335
10.3.2 知道何时使用#parse指令,何时使用#include指令335
10.3.3 使用JavaBean属性名称335
10.4 小结335
第11章 扩展Struts框架336
11.1 扩展Action和ActionForm336
11.1.1 向自己的动作提供通用服务337
11.1.2 干涉动作执行341
11.2 扩展RequestProcessor343
11.2.1 创建RequestProcessor343
11.2.2 使用RequestProcessor,而不使用Filter344
11.2.3 使用RequestProcessor验证本地访问347
11.3 创建配置Bean347
11.4 再次研究RequestProcessor349
11.5 创建一个插件353
11.5.1 新闻列表服务基础353
11.5.2 NewsletterManager353
11.5.3 NewsletterTask357
11.5.4 NewsletterPlugIn358
11.5.5 配置插件361
11.6 小结362
第12章 Struts和Ajax363
12.1 Ajax解密363
12.1.1 在Google中使用Ajax363
12.1.2 在Yahoo中使用Ajax364
12.2 在哪些地方应该使用Ajax364
12.2.1 Ajax和Web 2.0364
12.2.2 Ajax和SOA364
12.3 Ajax内部机制365
12.3.1 Ajax请求-答复循环365
12.3.2 XMLHttpRequest对象366
12.4 Ajax和Struts367
12.4.1 Cities.jsp文件367
12.4.2 GetCitiesNamesAction370
12.4.3 CitiesDAO371
12.5 小结372
附录A JavaEdge设置和安装373
附录B Struts开发工具380
附录C Struts和Strecks407
……[看更多目录]
点此购买报价¥44.20