《Struts与Ajgx高级程式设计》适合于所有具备一定开发经验并掌握JSP、servlet以及Struts基础知识的高级读者阅读。
基本介绍
- 书名:Struts与Ajgx高级程式设计
- 作者:John Carnell
- ISBN:9787115172273
- 页数:409页
- 出版社:人民邮电出版社
- 出版时间:2008年2月1日
- 装帧:平装
- 开本: 16
作者简介
John Carnell,全球领先的企业信息化解决方案和培训服务供应商NetChange公司的总裁。他对基于组件开发的软体解决方案有深入的研究,在业界颇负盛名。
内容简介
《Struts与Ajgx高级程式设计》主要内容:StrutsMVCWeb框架的使用方法,可以帮助读者解决在日常Web应用程式开发中遇到的各种难题。不合理的设计会导致对Struts框架的长期依赖,这会使代码复用变得非常複杂。《Struts与Ajgx高级程式设计》基于Struts1.2版对此类问题给出了专业的解决方案。《Struts与Ajgx高级程式设计》的重点在于如何发现常见的设计错误(反模式)以及如何使用Struts来解决这些问题。《Struts与Ajgx高级程式设计》内容丰富,信息全面,主要内容包括模式和反模式、Struts基础及其高级知识、Tiles框架、日誌和调试、elocity模板引擎、Struts和Ajax等。通过《Struts与Ajgx高级程式设计》,读者不仅能够深入地了解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 Slush 9
1.4.3 Tier Leakage 11
1.4.4 Hardwired 13
1.4.5 Validation Confusion 15
1.4.6 Tight-Skins 17
1.4.7 Data Madness 18
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 使用数据预先填充ActionForm 75
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 创建更加动态的ActionForm 95
3.4.5 ActionForm和业务逻辑 101
3.5 小结 106
第4章 使用Struts管理业务逻辑 107
4.1 业务逻辑反模式和Struts 107
4.1.1 Concern Slush和Struts 108
4.1.2 Tier Leakage和Struts 113
4.1.3 分离业务逻辑和Struts 115
4.2 实现设计模式 117
4.2.1 实现Business Delegate模式 117
4.2.2 实现Service Locator模式 122
4.2.3 继续研究服务定位器 130
4.2.4 EJB和Struts 134
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 编写定製的ExceptionHandler 146
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 使用OJB 180
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版本以使用Tiles 198
6.2.1 配置Tiles外挂程式 199
6.2.2 tiles-defs.xml档案 201
6.2.3 添加Tiles TLD 201
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 Forwards 216
6.6 小结 219
第7章 动态表单和Struts验证框架 221
7.1 动态表单简介 222
7.1.1 定义postStoryForm Struts表单bean 222
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的ActionForm 247
7.3.7 何时使用Validator框架 247
7.4 小结 248
第8章 使用XDoclet加速Struts开发 250
8.1 安装XDoclet 251
8.2 XDoclet到底是什幺 252
8.2.1 从XDoclet到原始码及其之间的步骤 255
8.2.2 可用的XDoclet标籤 256
8.2.3 分析一个XDoclet标籤 257
8.3 集成Ant和XDoclet 258
8.4 XDoclet和Struts 262
8.4.1 声明Struts表单bean 262
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 Logging 277
9.3 Java 1.4日誌API 281
9.3.1 Apache log4j 284
9.3.2 使用log4j和Cmmons Logging 285
9.3.3 日誌继承 289
9.3.4 日誌性能 292
9.3.5 日誌最佳实践 292
9.3.6 JBoss和log4j 296
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和Velocity 328
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和ActionForm 336
11.1.1 向自己的动作提供通用服务 337
11.1.2 干涉动作执行 341
11.2 扩展RequestProcessor 343
11.2.1 创建RequestProcessor 343
11.2.2 使用RequestProcessor,而不使用Filter 344
11.2.3 使用RequestProcessor验证本地访问 347
11.3 创建配置Bean 347
11.4 再次研究RequestProcessor 349
11.5 创建一个外挂程式 353
11.5.1 新闻列表服务基础 353
11.5.2 NewsletterManager 353
11.5.3 NewsletterTask 357
11.5.4 NewsletterPlugIn 358
11.5.5 配置外挂程式 361
11.6 小结 362
第12章 Struts和Ajax 363
12.1 Ajax解密 363
12.1.1 在Google中使用Ajax 363
12.1.2 在Yahoo中使用Ajax 364
12.2 在哪些地方应该使用Ajax 364
12.2.1 Ajax和Web 2.0 364
12.2.2 Ajax和SOA 364
12.3 Ajax内部机制 365
12.3.1 Ajax请求-答覆循环 365
12.3.2 XMLHttpRequest对象 366
12.4 Ajax和Struts 367
12.4.1 Cities.jsp档案 367
12.4.2 GetCitiesNamesAction 370
12.4.3 CitiesDAO 371
12.5 小结 372
附录A JavaEdge设定和安装 373
附录B Struts开发工具 380
附录C Struts和Strecks 407