深入浅出Struts2

版权信息书 名: 深入浅出Struts2
作者:(加拿大)BudiKurniawan
出版社:人民邮电出版社
出版时间: 2009
ISBN: 9787115205100
开本: 16
定价: 59.00 元
内容简介Struts2是JavaWeb应用首选的MVC框架。《深入浅出Struts2》对Struts2的工作机理进行了透彻的阐述。书中介绍了如何利用Struts2来解决Web应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts2应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax的支持,等等。书中概念清晰、环环相扣,便于读者高效地学习。《深入浅出Struts2》适合JavaWeb程序员阅读和参考,也可以作为计算机相关专业教材。
作者简介BudiKurniawan,世界知名的Java专家和资深JavaEE高级架构师,自己创建了软件咨询和技术出版公司BrainySoftware。他还撰写了深入揭示Tomcat工作机理和设计理念的名著HowTomcatWorks,并在多种权威出版物上发表过100多篇文章。
编辑推荐《深入浅出Struts2》是广受赞誉的Struts2优秀教程.它全面而深入地阐述了Strut2的各个特性,并指导开发人员如何根据遇到的问题对症下药。选择使用最合适的特性。作者处处从实战出发。在丰富的示例中直观地探讨了许多实用的技术。如数据类型转换、文件上传和下载、Struts2应用的安全性、调试与性能分析、FreeMarker、Velocily、Ajax,等等。跟随作者一道深入Struts2。聆听大量来之不易的经验之谈。你对Struts2开发框架的理解和应用水平都将更上一层楼。
Struts2权威著作
深入全面阐释Struts2的方方面面
涵盖FreeMarker、Ajax等大量相关技术
目录第1章Model2应用程序1
1.1Model2概览1
1.2带servlet控制器的Model22
1.2.1Product动作类3
1.2.2ControllerServlet类4
1.2.3视图6
1.2.4部署描述文件8
1.2.5示例程序的运行9
1.3带过滤器调度程序的Model29
1.4小结13
第2章初识Struts14
2.1Struts的优点14
2.2Struts的动作处理流程15
2.3拦截器17
2.4Struts配置文件18
2.4.1struts.xml文件19
2.4.2struts.properties文件26
2.5Struts应用程序示例26
2.5.1部署描述文件和Struts配置文件27
2.5.2动作类28
2.5.3运行app02a程序29
2.6依赖注入29
2.6.1概述29
2.6.2依赖注入的几种方式31
2.7小结31
第3章动作与结果32
3.1动作类32
3.2如何访问资源34
3.2.1ServletActionContext对象34
3.2.2Aware接口35
3.2.3通过Aware接口访问资源38
3.3把静态参数传递给一个动作41
3.4ActionSupport类41
3.5结果42
3.5.1Chain43
3.5.2Dispatcher44
3.5.3FreeMarker44
3.5.4HttpHeader44
3.5.5Redirect45
3.5.6RedirectAction46
3.5.7Stream47
3.5.8Velocity47
3.5.9XSLT47
3.5.10PlainText47
3.6异常处理:exception-mapping元素47
3.7通配符映射48
3.8动态方法调用51
3.9对动作类进行测试51
3.10小结51
第4章OGNL52
4.1ValueStack栈52
4.2读取ObjectStack里的对象的属性53
4.3读取ContextMap里的对象的属性54
4.4如何调用字段和方法55
4.5如何访问数组类型的属性56
4.6如何访问List类型的属性56
4.7如何访问Map类型的属性57
4.8JSPEL:当OGNL帮不上忙时58
4.9小结58
第5章表单标签59
5.1Struts标签的使用方法59
5.2表单标签的共同属性60
5.3form标签62
5.4textfield、password、hidden标签63
5.5submit标签65
5.6reset标签65
5.7label标签66
5.8head标签66
5.9textarea标签66
5.10checkbox标签67
5.11list、listKey和listValue属性72
5.11.1赋值一个String72
5.11.2赋值一个Map73
5.11.3赋值一个Collection或一个对象数组73
5.12radio标签74
5.13select标签76
5.14用optgroup标签对选项进行分组79
5.15checkboxlist标签82
5.16combobox标签83
5.17updownselect标签85
5.18optiontransferselect标签87
5.19doubleselect标签90
5.20主题92
5.21小结94
第6章通用标签95
6.1property标签95
6.2a标签97
6.3action标签97
6.4param标签98
6.5bean标签98
6.6date标签100
6.7include标签100
6.8set标签101
6.9push标签103
6.10url标签104
6.11if、else和elseif标签105
6.12iterator标签107
6.13append标签110
6.14merge标签111
6.15generator标签113
6.16sort标签116
6.17subset标签118
6.18小结119
第7章类型转换120
7.1类型转换概述120
7.2类型转换错误消息的定制121
7.3类型转换器的定制125
7.3.1对自定义的类型转换器进行配置126
7.3.2自定义的类型转换器示例127
7.4扩展StrutsTypeConverter类130
7.5与复杂对象配合使用134
7.6与Collection配合使用137
7.7与Map配合使用142
7.8小结145
第8章输入验证146
8.1验证程序概述146
8.2验证程序的配置147
8.3Struts内建验证程序148
8.3.1required验证程序149
8.3.2requiredstring验证程序150
8.3.3stringlength验证程序152
8.3.4int验证程序154
8.3.5date验证程序156
8.3.6email验证程序157
8.3.7url验证程序159
8.3.8regex验证程序160
8.3.9expression和fieldexpression验证程序161
8.3.10conversion验证程序164
8.3.11visitor验证程序166
8.4编写自定义的验证程序173
8.4.1注册176
8.4.2示例177
8.5利用Validateable接口实现编程验证180
8.6小结182
第9章消息处理与国际化183
9.1地区和Java资源绑定183
9.2Struts中的国际化支持185
9.3text标签188
9.4i18n标签191
9.5以手动方式选择一个资源包193
9.6小结195
第10章ModelDriven和Preparable拦截器196
10.1把动作与模型隔离开196
10.2ModelDriven拦截器197
10.3Preparable拦截器201
10.4小结206
第11章持久层207
11.1DAO模式207
11.1.1DAO模式的最简单实现208
11.1.2使用DAO接口的DAO模式208
11.1.3使用AbstractFactory模式的DAO模式209
11.2实现DAO模式209
11.2.1DAO接口和DAOBase类210
11.2.2EmployeeDAO类213
11.2.3EmployeeDAOMySQLImpl类214
11.2.4DAOFactory类218
11.2.5EmployeeManager类219
11.2.6运行app11a应用程序220
11.3Hibernate221
11.4小结221
第12章文件的上传222
12.1文件上传概述222
12.2在Struts里上传文件223
12.3FileUpload拦截器224
12.4上传单个文件示例225
12.5上传多个文件示例227
12.6小结230
第13章文件的下载231
13.1文件下载概述231
13.2Stream结果类型232
13.3文件下载功能的编程实现235
13.4小结238
第14章提高Struts应用程序的安全性239
14.1用户和角色239
14.2编写安全策略240
14.2.1保护资源240
14.2.2指定登录方法241
14.3身份验证方法242
14.3.1使用基本身份验证方法243
14.3.2使用基于表单的身份验证方法245
14.4隐藏资源247
14.5Struts安全配置248
14.6以编程方式提高安全性250
14.6.1getAuthType方法250
14.6.2isUserInRole方法250
14.6.3getUserPrincipal方法251
14.6.4getRemoteUser方法251
14.7小结251
第15章防止重复提交252
15.1标记管理252
15.2使用Token拦截器253
15.3使用TokenSession拦截器256
15.4小结257
第16章调试与性能分析258
16.1debug标签258
16.2Debugging拦截器259
16.3性能分析261
16.4小结262
第17章进度条263
17.1ExecuteandWait拦截器263
17.2使用ExecuteandWait拦截器264
17.3使用一个自定义的“等待”页面265
17.4小结266
第18章定制拦截器267
18.1Interceptor接口267
18.2编写一个自定义的拦截器268
18.3使用DataSourceInjectorInterceptor拦截器269
18.4小结273
第19章定制结果类型274
19.1概述274
19.2编写一个自定义的结果类型274
19.3使用新的结果类型277
19.4小结279
第20章Velocity280
20.1概述280
20.2Velocity隐式对象281
20.3标签281
20.4Velocity示例282
20.5小结284
第21章FreeMarker285
21.1概述285
21.2FreeMarker标签286
21.3示例287
21.4小结289
第22章XSLT结果类型290
22.1概述290
22.2XSLT结果类型292
22.3示例294
22.4小结295
第23章插件296
23.1概述296
23.2从哪里获得插件296
23.3编写一个自定义的插件296
23.4使用Captcha插件297
23.5小结300
第24章Tiles插件301
24.1JSPinclude指令/标签的不足302
24.2Tiles布局和定义303
24.2.1布局页面303
24.2.2Tiles定义304
24.3StrutsTiles插件305
24.4StrutsTiles示例306
24.5小结309
第25章JFreeChart插件310
25.1JFreeChartAPI310
25.1.1JFreeChart类310
25.1.2Plot抽象类310
25.2使用标准的插件311
25.3使用BrainySoftwareJFreeChart插件313
25.4小结315
第26章零配置316
26.1准备工作316
26.2注解317
26.2.1@Result注解317
26.2.2@Results注解318
26.2.3@Namespace注解318
26.2.4@ParentPackage注解319
26.3CodeBehind插件319
26.4小结321
第27章Ajax322
27.1Ajax概述322
27.2Dojo的事件系统323
27.3使用StrutsDojo插件324
27.4head标签324
27.5div标签325
27.5.1示例程序1326
27.5.2示例程序2326
27.5.3示例程序3327
27.6a标签328
27.7submit标签330
27.8bind标签331
27.9datetimepicker标签333
27.10tabbedpanel标签334
27.11textarea标签336
27.12autocompleter标签337
27.12.1示例程序1339
27.12.2示例程序2339
27.12.3示例程序3340
27.13tree和treenode标签341
27.13.1示例程序1342
27.13.2示例程序2343
27.14小结345
附录AStruts配置346
附录BJSPEL语言361
附录CJava注解370
……