图书介绍
Struts 2深入详解PDF|Epub|txt|kindle电子书版本网盘下载
![Struts 2深入详解](https://www.shukui.net/cover/1/32256584.jpg)
- 孙鑫著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121068126
- 出版时间:2008
- 标注页数:675页
- 文件大小:210MB
- 文件页数:689页
- 主题词:软件工具-程序设计
PDF下载
下载说明
Struts 2深入详解PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 认识Struts 21
1.1 什么是Web框架1
1.1.1 模型12
1.1.2 模型2和MVC5
1.1.3 Web框架的诞生9
1.2 从Struts 1到Struts 211
1.2.1 其他Web框架11
1.2.2 Struts 1的缺点12
1.2.3 市场与技术的结合——Struts 2的诞生14
1.3 准备开发环境14
1.4 小结23
第2章 Struts 2初体验24
2.1 下载和安装Struts 224
2.2 使用Subversion来获取Struts 2的源代码25
2.3 Hello World程序28
2.4 Struts 2项目开发总结38
2.5 小结38
第3章 由“登录”开始39
3.1 使用领域对象接收用户输入39
3.2 使用ModelDriven action44
3.3 使用action的属性接收用户输入46
3.4 访问request、session和application对象47
3.4.1 与Servlet API解耦的访问方式47
3.4.2 与Servlet API耦合的访问方式52
3.5 小结56
第4章 Struts 2架构剖析57
4.1 XWork 2——Struts 2的基础57
4.2 Struts 2的体系结构58
4.3 Struts 2框架的调用流程61
4.4 小结62
第5章 Struts 2配置详解63
5.1 Struts 2的配置文件63
5.1.1 web.xml64
5.1.2 struts.properties65
5.1.3 struts-default.xml69
5.1.4 struts.xml70
5.1.5 struts-plugin.xml74
5.1.6 静态内容75
5.2 struts.xml配置详解75
5.2.1 Bean配置75
5.2.2 常量(Constant)的配置76
5.2.3 包(Package)配置78
5.2.4 名称空间(Namespace)配置80
5.2.5 包含(Include)配置81
5.2.6 拦截器(Interceptor)配置83
5.2.7 Action配置86
5.2.8 Result配置86
5.2.9 异常(Exception)配置86
5.3 配置Action86
5.3.1 Action映射86
5.3.2 使用method属性87
5.3.3 动态方法调用90
5.3.4 模拟Struts 1的ForwardAction90
5.3.5 默认的action91
5.3.6 通配符映射92
5.4 配置Result95
5.4.1 结果映射95
5.4.2 结果类型97
5.4.3 常用结果类型99
5.4.3.1 dispatcher结果类型99
5.4.3.2 redirect结果类型100
5.4.3.3 redirectAction结果类型101
5.4.3.4 plainText结果类型103
5.4.4 全局结果103
5.4.5 动态结果104
5.4.6 在结果配置中使用参数106
5.5 异常处理107
5.6 使用注解配置Action110
5.6.1 与Action配置相关的注解111
5.6.2 使用注解配置Action的注意事项112
5.6.3 使用注解配置Action的实例113
5.7 小结115
第6章 准备用户注册程序116
6.1 创建数据库表116
6.2 编写用户注册程序118
6.3 解决中文乱码问题129
6.4 Struts 2对依赖注入的支持130
6.4.1 Spring插件130
6.4.2 在用户注册程序中集成Spring134
6.5 小结136
第7章 Struts 2中的OGNL137
7.1 为什么使用OGNL137
7.2 OGNL基础138
7.3 OGNL表达式141
7.3.1 常量141
7.3.2 操作符142
7.3.3 访问JavaBean的属性143
7.3.4 调用方法143
7.3.5 调用静态方法和静态字段143
7.3.6 调用构造方法144
7.3.7 索引访问144
7.3.7.1 数组和列表索引144
7.3.7.2 JavaBean的索引属性144
7.3.7.3 OGNL对象索引属性145
7.3.8 对集合进行操作145
7.3.8.1 创建集合145
7.3.8.2 集合的伪属性146
7.3.8.3 投影(projection)147
7.3.8.4 选择(selection)147
7.3.9 lambda表达式148
7.4 OGNL的类型转换148
7.5 Struts 2在OGNL基础上的增强149
7.5.1 值栈(ValueStack)149
7.5.2 [N]语法150
7.5.3 top关键字151
7.5.4 访问静态成员151
7.5.5 值栈中的Action实例151
7.5.6 Struts 2中的命名对象151
7.6 与JSP 2.1的冲突152
7.7 OGNL表达式的综合应用152
7.8 小结165
第8章 Struts 2的标签库166
8.1 引用Struts 2的标签库167
8.2 标签的语法167
8.3 通用标签168
8.3.1 数据标签168
8.3.1.1 property标签168
8.3.1.2 set标签169
8.3.1.3 push标签170
8.3.1.4 param标签172
8.3.1.5 bean标签173
8.3.1.6 action标签174
8.3.1.7 include标签177
8.3.1.8 url标签178
8.3.1.9 i18n和text标签181
8.3.1.10 date标签184
8.3.1.11 debug标签186
8.3.2 控制标签187
8.3.2.1 if/elseif/else标签188
8.3.2.2 iterator标签189
8.3.2.3 append标签191
8.3.2.4 merge标签192
8.3.2.5 generator标签194
8.3.2.6 subset标签197
8.3.2.7 sort标签199
8.4 UI标签200
8.4.1 模板和主题201
8.4.1.1 Struts 2支持的模板引擎201
8.4.1.2 加载模板201
8.4.1.3 选择主题202
8.4.1.4 创建定制的主题203
8.4.1.5 Struts 2内置的4种主题203
8.4.2 表单标签206
8.4.2.1 表单标签的公共属性206
8.4.2.2 表单标签的name和value属性208
8.4.2.3 ID名分配209
8.4.2.4 form标签209
8.4.2.5 textfield标签210
8.4.2.6 password标签211
8.4.2.7 textarea标签211
8.4.2.8 select标签212
8.4.2.9 optgroup标签217
8.4.2.10 radio标签218
8.4.2.11 checkbox标签219
8.4.2.12 checkboxlist标签220
8.4.2.13 doubleselect标签221
8.4.2.14 combobox标签226
8.4.2.15 optiontransferselect标签228
8.4.2.16 updownselect标签231
8.4.2.17 hidden标签233
8.4.2.18 submit标签233
8.4.2.19 reset标签235
8.4.2.20 label标签235
8.4.2.21 token标签236
8.4.2.22 file标签236
8.4.2.23 head标签236
8.4.3 非表单标签237
8.4.3.1 component标签237
8.4.3.2 a标签240
8.4.3.3 actionerror、actionmessage和fielderror标签240
8.5 使用Struts 2的表单标签改写用户注册程序中的注册页面242
8.6 小结247
第9章 国际化248
9.1 国际化与本地化248
9.1.1 Locale249
9.1.2 资源包251
9.1.3 消息格式化253
9.2 Struts 2对国际化的支持254
9.2.1 Struts 2资源包的组织和加载方式255
9.2.2 在消息文本中使用参数255
9.2.3 访问国际化消息256
9.3 将用户注册程序国际化258
9.4 错误消息的国际化262
9.5 Struts 2设定访问用户的locale的流程265
9.6 为用户注册程序添加英文版本266
9.7 小结269
第10章 拦截器271
10.1 拦截器的工作方式271
10.2 编写拦截器类272
10.3 Struts 2自带的拦截器274
10.4 配置拦截器281
10.5 PreResultListener接口282
10.6 开发执行安全验证的拦截器285
10.7 使用拦截器注解290
10.8 小结294
第11章 类型转换295
11.1 传统的数据处理过程296
11.2 Struts 2对类型转换的支持296
11.2.1 使用OGNL表达式命名参数297
11.2.2 Struts 2内置的类型转换器297
11.2.3 null属性的处理298
11.2.4 对List、Map和Set的支持298
11.2.4.1 使用List来保存图书信息的实例298
11.2.4.2 使用Map来保存图书信息的实例303
11.2.5 使用Set来保存图书信息的实例307
11.3 创建自定义的类型转换器311
11.4 类型转换错误的处理318
11.5 使用类型转换注解321
11.5.1 TypeConversion注解321
11.5.2 Conversion注解322
11.5.3 Element注解323
11.5.4 Key注解323
11.5.5 KeyProperty注解324
11.5.6 CreateIfNull注解324
11.6 小结324
第12章 对输入数据进行验证325
12.1 手动验证326
12.1.1 在Action的execute()方法中进行验证326
12.1.2 在validateXxx()方法中进行验证328
12.1.3 在validate()方法中进行验证330
12.2 使用验证框架332
12.2.1 什么是验证器332
12.2.2 注册验证器332
12.2.3 开启验证333
12.2.4 定义验证规则333
12.2.5 验证文件的查找顺序335
12.2.6 Struts 2内置的验证器336
12.2.7 在用户注册程序中使用验证框架345
12.2.8 确认密码的验证349
12.2.9 短路验证350
12.2.10 开发自己的验证器353
12.2.11 使用visitor字段验证器复用验证363
12.2.12 同时使用验证框架和手动验证367
12.2.13 客户端JavaScript验证368
12.3 使用验证注解369
12.3.1 与验证相关的注解369
12.3.2 在用户注册程序中使用验证注解379
12.4 小结383
第13章 使用FreeMarker作为表现层384
13.1 FreeMarker简介385
13.1.1 FreeMarker是什么385
13.1.2 为什么要使用FreeMarker386
13.2 FreeMarker的工作原理386
13.2.1 模板+数据模型=输出386
13.2.2 数据模型388
13.2.2.1 scalar变量391
13.2.2.2 hash和sequence变量392
13.2.2.3 方法变量392
13.2.2.4 宏变量392
13.2.3 模板392
13.3 FreeMarker的语法和操作393
13.3.1 准备工作393
13.3.2 表达式395
13.3.2.1 直接指定值395
13.3.2.2 访问变量397
13.3.2.3 字符串操作399
13.3.2.4 序列操作400
13.3.2.5 散列操作400
13.3.2.6 算术运算400
13.3.2.7 比较操作401
13.3.2.8 逻辑操作402
13.3.2.9 内置函数402
13.3.2.10 方法调用403
13.3.2.11 缺少值处理13.3.2.11 操作符403
13.3.2.12 操作符优先级405
13.3.3 插值(interpolation)406
13.3.4 指令407
13.3.4.1 if/elseif/else指令408
13.3.4.2 switch/case/default/break指令409
13.3.4.3 list/break指令411
13.3.4.4 include指令412
13.3.4.5 import指令和名称空间414
13.3.4.6 assign指令418
13.3.4.7 global指令419
13.3.4.8 local指令420
13.3.4.9 setting指令420
13.3.4.10 macro、nested和return指令421
13.3.4.11 function和return指令425
13.3.4.12 noparse指令426
13.3.4.13 escape和noescape指令427
13.3.5 内置函数429
13.3.5.1 操作字符串429
13.3.5.2 操作数字437
13.3.5.3 操作日期439
13.3.5.4 操作布尔值441
13.3.5.5 操作序列441
13.3.5.6 操作散列446
13.3.6 在模板中定义变量447
13.4 Struts 2对FreeMarker的支持449
13.4.1 FreeMarker标签449
13.4.2 在FreeMarker标签中使用动态属性450
13.4.3 JSP标签支持450
13.4.4 变量解析与内置变量451
13.4.5 访问Servlet/JSP范围对象451
13.4.6 类型转换与本地化453
13.5 在用户注册程序中使用FreeMarker来实现表现层453
13.6 小结459
第14章 使用SiteMesh控制页面布局461
14.1 SiteMesh简介462
14.2 下载并安装SiteMesh462
14.3 感受SiteMesh464
14.4 SiteMesh的工作原理467
14.5 SiteMesh的标签库468
14.5.1 decorator标签库469
14.5.2 page标签库470
14.6 在装饰器中获取原始页面的内容470
14.7 装饰器的组合应用471
14.8 装饰器映射器475
14.9 Struts 2对SiteMesh的支持479
14.10 在用户注册程序中使用SiteMesh进行页面布局480
14.10.1 使用JSP作为表现层480
14.10.2 使用FreeMarker作为表现层484
14.11 小结488
第15章 避免表单重复提交与等待页面489
15.1 避免表单重复提交489
15.1.1 避免表单重复提交的实现原理490
15.1.2 Struts 2的实现方式490
15.1.3 使用TokenInterceptor491
15.1.4 使用TokenSessionStoreInterceptor493
15.2 自动显示等待页面493
15.2.1 ExecuteAndWaitInterceptor的工作机制494
15.2.2 使用ExecuteAndWaitInterceptor495
15.3 小结497
第16章 文件上传和下载498
16.1 文件上传498
16.1.1 基于表单的文件上传498
16.1.2 文件上传格式分析499
16.1.3 Struts 2对文件上传的支持501
16.1.4 在Struts 2中实现文件上传502
16.1.5 对文件上传进行更多的控制507
16.1.6 多文件上传509
16.2 文件下载515
16.2.1 Struts 2对文件下载的支持515
16.2.2 在Struts 2中实现文件下载516
16.2.3 改进下载程序518
16.3 小结521
第17章 在Struts 2中实现CRUD522
17.1 准备工作522
17.2 文章分类的CRUD操作528
17.3 小结533
第18章 Struts 2对Ajax的支持535
18.1 Ajax快速入门535
18.1.1 Ajax简介536
18.1.2 DOM537
18.1.3 XMLHttpRequest539
18.2 Ajax应用开发540
18.2.1 使用XML作为数据的载体541
18.2.2 使用JSON串作为数据的载体551
18.2.2.1 理解JSON552
18.2.2.2 下载JSON的Java实现554
18.2.2.3 下载JSON的JavaScript脚本555
18.2.2.4 使用JSON作为图书信息的数据格式555
18.2.3 使用Dojo简化Ajax应用的开发561
18.2.3.1 Dojo概述561
18.2.3.2 下载Dojo工具包565
18.2.3.3 在ch18 Web程序中使用Dojo565
18.3 在Struts 2中使用JSON插件570
18.3.1 JSON插件570
18.3.1.1 JSON插件概述571
18.3.1.2 定制序列化和反序列化571
18.3.1.3 下载JSON插件572
18.3.2 使用JSON插件的实例573
18.4 Struts 2的Ajax标签578
18.4.1 Ajax标签的基础知识579
18.4.1.1 共同的属性579
18.4.1.2 等待指示符579
18.4.1.3 事件发布/订阅模型580
18.4.1.4 URL580
18.4.1.5 阻止请求580
18.4.2 使用Ajax标签前的准备工作581
18.4.3 div标签583
18.4.4 submit标签593
18.4.5 a标签597
18.4.6 tabbedPanel标签599
18.4.7 autocompleter标签604
18.4.7.1 autocompleter标签简介604
18.4.7.2 准备工作605
18.4.7.3 autocompleter标签用法详析608
18.4.8 tree和treenode标签614
18.4.8.1 用tree和treenode标签构建静态树614
18.4.8.2 用tree标签构建动态树617
18.5 Struts 2对DWR的支持623
18.6 小结630
第19章 集成Hibernate和Spring631
19.1 Hibernate简介632
19.2 Hibernate的下载和安装632
19.3 Hibernate快速入门633
19.3.1 配置文件633
19.3.2 主要接口和类635
19.3.3 总结638
19.4 在Struts 2中集成Hibernate638
19.5 集成Spring647
19.6 小结651
第20章 在Struts 2中开发Struts 1的Web应用652
20.1 Struts 1插件652
20.1.1 Struts 1插件的工作原理652
20.1.2 使用Struts 1插件653
20.2 用户注册实例656
20.2.1 准备工作656
20.2.2 阶段1:简单的Struts 1 Action658
20.2.3 阶段2:带有ActionForm的Struts 1 Action660
20.2.4 阶段3:添加手动验证664
20.2.5 阶段4:使用Commons Validator验证框架665
20.3 小结670
附录A Struts 1与Struts 2的对比671
附录B WebWork 2与Struts 2的对比673
附录C 从WebWork 2移植到Struts 2675