Struts 2.x权威指南 第3版PDF电子书下载
- 电子书积分:19 积分如何计算积分?
- 作 者:李刚编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2012
- ISBN:9787121180477
- 页数:658 页
第1章Struts 2概述 1
1.1 MVC思想概述 2
1.1.1 Web技术的发展 2
1.1.2 Model 1和Model 2 4
1.1.3 MVC思想及其优势 5
1.1.4常用的MVC框架 6
1.2 Struts 1的缺陷与现状 8
1.2.1支持的表现层技术单一 8
1.2.2与Servlet API严重耦合 8
1.2.3代码依赖于Struts 1 API 9
1.3 Struts 2的优势与体系 9
1.3.1 Struts 2的优势 9
1.3.2 Struts 2架构 11
1.3.3 Struts 2的配置文件 11
1.3.4 Struts 2的标签库 12
1.3.5 Struts 2的控制器组件 13
1.4本章小结 14
第2章Struts 2的HelloWorld 15
2.1下载和安装Struts 2框架 16
2.2从用户请求开始 17
2.3创建Struts 2的Web应用 19
2.3.1创建Web应用 19
2.3.2增加Struts 2功能 20
2.4实现控制器 21
2.4.1实现控制器类 21
2.4.2配置Action 22
2.4.3增加视图资源完成应用 23
2.5改进控制器 24
2.5.1实现Action接口 24
2.5.2跟踪用户状态 25
2.5.3添加处理信息 26
2.5.4输出处理信息 28
2.6改进视图组件 29
2.6.1保护JSP页面 30
2.6.2改善输出页面 30
2.6.3使用UI标签简化表单页面 31
2.7完成程序国际化 32
2.7.1定义国际化资源文件 33
2.7.2加载资源文件 34
2.7.3输出国际化信息 35
2.8增加数据校验 36
2.8.1继承ActionSupport 37
2.8.2使用Struts 2的校验框架 39
2.9本章小结 40
第3章Struts 2核心技术 41
3.1在Eclipse中开发Struts 2 42
3.1.1创建Web应用 42
3.1.2增加Struts 2支持 44
3.1.3部署Struts 2应用 45
3.1.4增加应用的Action 46
3.2 Struts 2的基本流程 47
3.2.1核心控制器StrutsPrepareAndExecuteFilter 47
3.2.2业务控制器 48
3.2.3 Struts 2的模型组件 48
3.2.4 Struts 2的视图组件 49
3.2.5 Struts 2的运行流程 49
3.3 Struts 2的基本配置 50
3.3.1配置web.xml文件 50
3.3.2 struts.xml配置文件 51
3.3.3 struts.properties文件与常量配置 54
3.3.4 struts.xml文件结构 59
3.4深入Struts 2配置文件 61
3.4.1 Bean配置 61
3.4.2常量配置 62
3.4.3包配置 62
3.4.4命名空间配置 64
3.4.5包含配置 66
3.4.6拦截器配置 66
3.5 Struts 2的Action 67
3.5.1实现Action处理类 67
3.5.2 Action访问Servlet API 71
3.5.3 Action直接访问Servlet API 74
3.5.4配置Action 76
3.5.5配置Action的默认处理类 78
3.5.6动态方法调用 78
3.5.7为action元素指定method属性 81
3.5.8使用通配符 82
3.5.9配置默认的Action 87
3.6管理处理结果 87
3.6.1处理结果的改进 88
3.6.2配置结果 88
3.6.3 Struts 2支持的处理结果类型 89
3.6.4 chain结果类型 91
3.6.5 plainText结果类型 93
3.6.6 redirect结果类型 95
3.6.7 redirectAction结果类型 96
3.6.8动态结果 97
3.6.9请求参数决定结果 98
3.6.10全局结果 100
3.7属性驱动和模型驱动 101
3.7.1模型的作用 101
3.7.2使用模型驱动 103
3.8 Struts 2的异常机制 105
3.8.1 Struts 2的异常处理哲学 105
3.8.2声明式异常捕捉 107
3.8.3输出异常信息 110
3.9未知处理器 111
3.10本章小结 113
第4章Struts 2的类型转换 114
4.1类型转换的意义 115
4.1.1表现层数据处理 115
4.1.2传统的类型转换 116
4.2 Struts 2内建的类型转换器 118
4.3基于OGNL的类型转换 120
4.3.1使用OGNL转换成Map集合 121
4.3.2使用OGNL转换成List集合 122
4.4自定义类型转换器 123
4.4.1系统需求 123
4.4.2实现类型转换器 125
4.4.3局部类型转换器 127
4.4.4全局类型转换器 128
4.4.5局部类型转换器和全局类型转换器的说明 130
4.4.6基于Struts 2的类型转换器 130
4.4.7数组属性的类型转换器 132
4.4.8集合属性的类型转换器 135
4.5集合类型转换的高级特性 137
4.5.1指定集合元素的类型 137
4.5.2为Set集合的元素指定索引属性 138
4.6类型转换中的错误处理 140
4.6.1类型转换的错误处理流程 140
4.6.2处理类型转换错误 142
4.6.3输出类型转换错误 142
4.6.4处理集合属性的转换错误 145
4.7本章小结 147
第5章Struts 2的输入校验 148
5.1输入校验概述 149
5.1.1为什么需要输入校验 149
5.1.2客户端校验 150
5.1.3服务器端校验 152
5.1.4类型转换和输入校验 155
5.2基本输入校验 156
5.2.1编写校验规则文件 156
5.2.2国际化提示信息 159
5.2.3使用客户端校验 161
5.3校验器的配置风格 164
5.3.1字段校验器配置风格 164
5.3.2非字段校验器配置风格 165
5.3.3短路校验器 166
5.3.4校验顺序和短路 167
5.4校验文件的搜索规则 168
5.5内建校验器 170
5.5.1注册校验器 170
5.5.2必填校验器 172
5.5.3必填字符串校验器 172
5.5.4整数校验器 173
5.5.5日期校验器 174
5.5.6表达式校验器 175
5.5.7字段表达式校验器 175
5.5.8邮件地址校验器 176
5.5.9网址校验器 176
5.5.10 Visitor校验器 177
5.5.11转换校验器 180
5.5.12字符串长度校验器 181
5.5.13正则表达式校验器 181
5.6基于Annotation的输入校验 182
5.7手动完成输入校验 184
5.7.1重写validate方法 184
5.7.2重写validateXxx方法 185
5.7.3 Struts 2的输入校验流程 186
5.8本章小结 188
第6章 上传和下载文件 189
6.1文件上传的原理 190
6.1.1表单元素的enctype属性 190
6.1.2手动上传 193
6.1.3使用Servlet 3.0 API完成上传 194
6.2 Struts 2的文件上传 197
6.2.1 Struts 2的文件上传支持 197
6.2.2实现文件上传的Action 197
6.2.3配置文件上传的Action 200
6.2.4手动实现文件过滤 201
6.2.5拦截器实现文件过滤 203
6.2.6输出错误提示 205
6.2.7文件上传的常量配置 206
6.3使用Pell上传 206
6.4同时上传多个文件 207
6.4.1使用数组同时上传多个文件 208
6.4.2使用List同时上传多个文件 210
6.5使用Struts 2控制文件下载 212
6.5.1实现文件下载的Action 212
6.5.2配置Action 214
6.5.3下载前的授权控制 214
6.6本章小结 216
第7章Struts 2的国际化 217
7.1程序国际化简介 218
7.1.1程序国际化的意义 218
7.1.2 Java国际化的思路 219
7.1.3 Java支持的国家和语言 219
7.1.4完成程序国际化 220
7.1.5使用MessageFormat处理带占位符的消息 222
7.2 Struts 2的国际化支持 224
7.2.1 Struts 2的国际化 224
7.2.2视图页面的国际化 224
7.2.3 Action的国际化 225
7.2.4使用包范围的国际化资源 227
7.2.5使用全局国际化资源 228
7.2.6输出带占位符的国际化消息 231
7.2.7加载资源文件的顺序 232
7.3允许用户自行选择程序语言 233
7.3.1 Struts 2国际化机制的原理 234
7.3.2创建下拉列表框 235
7.3.3选择程序语言 237
7.4本章小结 238
第8章Struts 2的标签库 239
8.1 Struts 2标签库概述 240
8.1.1标签的优势 240
8.1.2 Struts 2的标签分类 241
8.2 Struts 2标签入门 242
8.2.1使用Struts 2标签的准备 242
8.2.2 Struts 2的OGNL表达式语言 243
8.2.3 OGNL中的集合操作 245
8.2.4访问静态成员 246
8.2.5 Lambda(λ)表达式 246
8.3控制标签 247
8.3.1 if/elseif/else标签 247
8.3.2 iterator标签 248
8.3.3 append标签 250
8.3.4 generator标签 252
8.3.5 merge标签 253
8.3.6 subset标签 254
8.3.7 sort标签 256
8.4数据标签 258
8.4.1 action标签 258
8.4.2 bean标签 260
8.4.3 date标签 262
8.4.4 debug标签 263
8.4.5 i18n标签 263
8.4.6 include标签 263
8.4.7 param标签 264
8.4.8 property标签 264
8.4.9 push标签 265
8.4.10 set标签 265
8.4.11 text标签 267
8.4.12 url标签 267
8.5主题和模板 269
8.5.1选择主题 269
8.5.2自定义主题 271
8.6表单标签 273
8.6.1表单标签的通用属性 273
8.6.2表单标签的name和value属性 275
8.6.3 checkboxlist标签 275
8.6.4 combobox标签 277
8.6.5 doubleselect标签 278
8.6.6 head标签 280
8.6.7 optiontransferselect标签 280
8.6.8 select标签 282
8.6.9 radio标签 284
8.6.10 optgroup标签 284
8.6.11 token标签 285
8.6.12 updownselect标签 287
8.7非表单标签 288
8.7.1 actionerror和actionmessage标签 289
8.7.2 component标签 289
8.8本章小结 291
第9章Struts 2的拦截器 292
9.1理解拦截器 293
9.1.1理解DRY规则 293
9.1.2拦截器的意义 295
9.1.3拦截器的实现原理 297
9.1.4拦截器和AOP的关系 300
9.1.5拦截器在Struts 2中的作用 301
9.2 Struts 2内建拦截器介绍 303
9.2.1 Struts 2内建拦截器 303
9.2.2 struts-default.xml里配置的拦截器 304
9.3拦截器配置初步 308
9.3.1配置拦截器 308
9.3.2使用拦截器 310
9.3.3配置默认的拦截器 311
9.4开发自己的拦截器 313
9.4.1实现拦截器类 313
9.4.2使用拦截器 314
9.4.3拦截器和Struts 2插件的关系 316
9.5深入拦截器编程 317
9.5.1拦截方法的拦截器 317
9.5.2拦截器的执行顺序 319
9.5.3拦截结果的监听器 321
9.5.4覆盖拦截器栈里特定拦截器的参数 322
9.6拦截器应用示例:实现权限控制 323
9.6.1实现拦截器类 323
9.6.2配置权限控制拦截器 324
9.7本章小结 326
第10章Struts 2的Ajax支持 327
10.1 Struts 2基本的Ajax支持 328
10.1.1 Ajax技术概述 328
10.1.2使用stream结果类型实现Ajax 331
10.2基于Dojo的异步表单 334
10.2.1安装Dojo插件 335
10.2.2定义异步表单 335
10.2.3实现Action 337
10.2.4实现服务器响应页面 338
10.3基于Dojo的Pub-Sub事件模型 340
10.3.1 Pub-Sub原理 340
10.3.2 Pub-Sub示例 341
10.3.3阻止请求 343
10.4基于Dojo的Ajax标签 343
10.4.1 div标签 343
10.4.2 a和submit标签 349
10.4.3 autocompleter标签 354
10.4.4 tabbedpanel标签 360
10.4.5 datetimepicker标签 363
10.4.6 tree和treenode标签 365
10.4.7 textarea标签 369
10.4.8 bind标签 369
10.5基于JSON插件的Ajax实现 371
10.5.1 JSON的基本知识 371
10.5.2安装Struts 2的JSON插件 374
10.5.3实现Action逻辑 374
10.5.4实现JSP页面 376
10.6本章小结 377
第11章Convention插件与REST支持 378
11.1 Convention插件和零配置 379
11.1.1搜索Action 379
11.1.2按约定映射Action 380
11.1.3按约定映射Result 382
11.1.4 Action链的约定 385
11.1.5自动重加载映射 386
11.2 Convention插件的相关常量 386
11.3 Convention的Annotation 387
11.3.1 Action配置相关的Annotation 388
11.3.2 Result配置相关的Annotation 389
11.3.3包和命名空间相关的Annotation 391
11.3.4异常处理相关的Annotation 391
11.3.5拦截器配置相关的Annotation 392
11.4 REST简介 393
11.4.1资源和标识符 394
11.4.2操作资源的方式 394
11.5 Struts 2的REST支持 395
11.5.1 RestActionMapper简介 395
11.5.2安装REST插件 397
11.5.3实现支持REST的Action类 397
11.6本章小结 404
第12章FreeMarker详解 405
12.1体验FreeMarker 406
12.1.1下载和安装FreeMarker 406
12.1.2在Java程序中使用FreeMarker 407
12.1.3在Web应用中使用FreeMarker 408
12.2 FreeMarker的模板文件 411
12.2.1模板结构 412
12.2.2 FTL指令规则 412
12.2.3插值规则 413
12.3表达式 414
12.3.1直接指定值 414
12.3.2输出变量值 417
12.3.3字符串操作 418
12.3.4集合连接运算符 419
12.3.5 Map连接运算符 419
12.3.6算术运算符 420
12.3.7比较运算符 420
12.3.8逻辑运算符 421
12.3.9内建函数 421
12.3.10空值处理运算符 422
12.3.11运算符优先级 422
12.4 FreeMarker的常用指令 422
12.4.1 if指令 423
12.4.2 switch、 case、 default、 break指令 423
12.4.3 list、 break指令 424
12.4.4 include指令 424
12.4.5 import指令 425
12.4.6 noparse指令 425
12.4.7 escape、noescape指令 425
12.4.8 assign指令 426
12.4.9 setting指令 427
12.4.10 macro、 nested、 return指令 427
12.5使用FreeMarker作为Struts 2的视图技术 430
12.5.1在 FreeMarker模板中使用Struts 2标签 430
12.5.2使用Freemarker Result 433
12.5.3解析模板中的变量 434
12.5.4访问Servlet/JSP范围的值 436
12.6本章小结 438
第13章 整合Spring 439
13.1 Spring简介 440
13.1.1 Spring的起源和核心 440
13.1.2 Spring在Java EE应用中的作用 442
13.2 Struts 2插件 444
13.2.1插件概述 444
13.2.2插件开发概述 445
13.3使用Spring插件完成整合 447
13.3.1整合Spring前的准备工作 447
13.3.2整合Spring的思考 449
13.4让Spring管理控制器 450
13.4.1整合流程 450
13.4.2从页面请求开始 451
13.4.3实现控制器逻辑 451
13.4.4实现业务逻辑 453
13.5使用自动装配 454
13.5.1指定自动装配 454
13.5.2修改配置文件 455
13.5.3改变自动装配策略 456
13.6本章小结 458
第14章 整合JSF 459
14.1 JSF简介 460
14.1.1 JSF概述 460
14.1.2 JSF和Struts 2的对比 461
14.2使用MyFaces 461
14.2.1下载和安装MyFaces 462
14.2.2从输入页面开始 463
14.2.3在Web应用中配置 MyFaces 465
14.2.4实现后台Bean 466
14.2.5定义导航规则 467
14.3安装JSF插件 469
14.4使用JSF插件 470
14.4.1实现业务逻辑组件 470
14.4.2列出全部图书 473
14.4.3添加/修改图书 475
14.5整合JSF的思考 480
14.6本章小结 480
第15章 整合SiteMesh 481
15.1 SiteMesh简介 482
15.1.1 SiteMesh概述 482
15.1.2下载和安装SiteMesh 483
15.1.3定义装饰器页面 485
15.1.4定义原始页面 487
15.1.5更复杂的装饰器页面 488
15.2使用SiteMesh插件 490
15.2.1安装SiteMesh插件 491
15.2.2在Struts 2中使用SiteMesh 492
15.3本章小结 494
第16章 整合JasperReports 495
16.1 JasperReports简介 496
16.1.1下载和安装JasperReports 496
16.1.2开发JasperReports静态报表 497
16.1.3 JasperReports的开发流程 503
16.1.4解决PDF报表的中文问题 504
16.2动态报表 504
16.2.1带参数的报表 504
16.2.2带查询的报表 508
16.2.3以VO集合作为数据源的动态报表 512
16.3使用iReport设计报表 516
16.3.1下载和安装iReport 516
16.3.2使用iReport 518
16.3.3建立数据源 520
16.3.4设计报表布局 522
16.4安装JasperReports插件 525
16.5使用JasperReports报表 525
16.5.1创建生成报表的Action 525
16.5.2配置生成JasperReports报表的Action 526
16.5.3生成JasperReports报表 527
16.6本章小结 529
第17章 整合JFreeChart 530
17.1 JFreeChart简介 531
17.1.1 JFreeChart的下载和安装 531
17.1.2使用JFreeChart 532
17.1.3 JFreeChart开发步骤 534
17.2 JFreeChart的常用统计图表 535
17.2.1柱状图 536
17.2.2折线图 540
17.2.3时间顺序图 540
17.3在网页中生成带交互功能的统计图 542
17.4安装JFreeChart插件 547
17.5在Struts 2应用中使用JFreeChart 548
17.5.1创建Action类 548
17.5.2配置Action 550
17.5.3改进JFreeChart插件 551
17.5.4使用改进后的JFreeChart插件 554
17.6本章小结 555
第18章 整合Hibernate 556
18.1 Hibernate概述 557
18.1.1 ORM的功能与Hibernate 557
18.1.2流行的ORM框架简介 560
18.2 Struts 2整合Hibernate的思考 560
18.2.1自定义的整合方案 560
18.2.2整合方案的实现策略 561
18.3整合示例 562
18.3.1持久层设计 562
18.3.2 DAO层设计 565
18.3.3业务逻辑层设计 568
18.3.4初始化组件工厂 570
18.3.5控制器实现 571
18.4整合后的思考和Spring框架 572
18.5本章小结 573
第19章 “零配置”案例:注册登录系统 574
19.1系统概述 575
19.1.1系统功能简介 575
19.1.2系统总体设计 576
19.2实现Hibernate持久层 576
19.3实现DAO层 577
19.3.1管理SessionFactory 578
19.3.2实现DAO基类 579
19.3.3实现系统DAO组件 580
19.3.4配置DAO组件 582
19.4实现业务逻辑层 582
19.4.1定义业务逻辑组件接口 582
19.4.2提供业务逻辑组件实现类 583
19.4.3配置业务逻辑组件 585
19.5使用Struts 2 586
19.5.1整合Struts 2和Spring 586
19.5.2处理登录 587
19.5.3图形验证码 591
19.5.4使用Ajax验证用户名 594
19.5.5注册新用户 597
19.6使用SiteMesh装饰页面 599
19.7本章小结 600
第20章 电子拍卖系统 601
20.1系统功能简介和架构设计 602
20.1.1系统功能简介 602
20.1.2系统架构设计 603
20.1.3相关技术介绍 604
20.2持久层设计 606
20.2.1系统实体 606
20.2.2系统E-R图和数据表 607
20.2.3实现Hibernate PO 609
20.2.4管理SessionFactory 616
20.3实现系统DAO层 617
20.3.1实现DAO基类 618
20.3.2实现系统DAO组件 619
20.3.3配置系统DAO组件 622
20.4实现业务逻辑层 624
20.4.1定义业务逻辑组件接口 624
20.4.2依赖注入DAO组件 626
20.4.3业务逻辑组件中的异常处理 627
20.4.4处理用户竞价 628
20.4.5判断拍卖物品状态 630
20.4.6事务管理 632
20.4.7配置业务层组件 633
20.5实现系统Web层 635
20.5.1配置Struts 2的核心Filter 636
20.5.2处理用户登录 637
20.5.3图形验证码 640
20.5.4 Web层的异常处理 641
20.5.5登录控制 642
20.5.6添加物品 644
20.5.7处理用户竞价 650
20.6使用SiteMesh页面装饰 655
20.6.1在Struts 2中整合SiteMesh页面装饰 655
20.6.2定义页面装饰 655
20.7本章小结 658
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《甘肃省档案馆指南》甘肃省档案馆编 2018
- 《近代旅游指南汇刊 31》王强主编 2014
- 《近代旅游指南汇刊二编 10》王强主编 2017
- 《手工咖啡 咖啡爱好者的完美冲煮指南》(美国)杰茜卡·伊斯托,安德烈亚斯·威尔霍夫 2019
- 《近代旅游指南汇刊 13》王强主编 2014
- 《近代旅游指南汇刊 28》王强主编 2014
- 《近代旅游指南汇刊 23》王强主编 2014
- 《重庆市绿色建筑评价技术指南》重庆大学,重庆市建筑节能协会绿色建筑专业委员会主编 2018
- 《ESG指标管理与信息披露指南》管竹笋,林波,代奕波主编 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017