首页

《Struts 2.1权威指南》PDF版本下载

标签:struts2基础,电子书,mvc,HelloWorld,框架架构,WebWork,配置     发布时间:2016-08-29   
  • 云盘下载:
  • [提取码:0000]
  • 本地下载:
       ( 需积分:2  )

一、目录简介

《Struts 2.1权威指南》PDF版本下载

第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思想及其优势               6
1.1.4  常用的MVC框架                  7
1.2    Struts 2的起源和背景           8
1.2.1  Struts 1简介及存在的问题    9
1.2.2  WebWork简介                   12
1.2.3  Struts 2起源                      15
1.3    Struts 2体系介绍                16
1.3.1  Struts 2框架架构               16
1.3.2  Struts 2的配置文件            17
1.3.3  Strut 2的标签库                 18
1.3.4  Struts 2的控制器组件         19
1.4    Struts 2与Struts 1的对比     20
1.5    WebWork和Struts 2对比     21
1.6    本章小结                           22



第2章  Struts 2下的HelloWorld     23
2.1    下载和安装Struts 2框架      23
2.2    从用户请求开始                 25
2.3    创建Struts 2的Web应用      27
2.3.1  创建Web应用                    27
2.3.2  增加Struts 2功能               28
2.4    实现控制器                        28
2.4.1  实现控制器类                    29
2.4.2  配置Action                        30
2.4.3  增加视图资源完成应用       30
2.5    改进控制器                        32
2.5.1  实现Action接口                  32
2.5.2  跟踪用户状态                    33
2.5.3  添加处理信息                    35
2.5.4  输出处理信息                    37
2.6    改进视图组件                     39
2.6.1  改善输出页面                    39
2.6.2  使用UI标签简化表单页面    40
2.7    完成程序国际化                  42
2.7.1  定义国际化资源文件           42
2.7.2  加载资源文件                     43
2.7.3  输出国际化信息                  44
2.8    增加数据校验                      46
2.8.1  继承ActionSupport              46
2.8.2  使用Struts 2的校验框架       49
2.9    本章小结                             51


第3章  Struts 2基础                           52
3.1    WebWork的MVC实现                52
3.1.1  WebWork的下载和安装            53
3.1.2  实现Action                              53
3.1.3  配置Action                              56
3.1.4  完成数据校验                          58
3.1.5  完成应用流程                          59
3.2    在Eclipse中开发Struts 2            60
3.2.1  创建Web应用                          61
3.2.2  增加Struts 2支持                     63
3.2.3  部署Struts 2应用                     64
3.2.4  增加应用的Action                    65
3.3    Struts 2的基本流程                  66
3.3.1  核心控制器:FilterDispatcher   66
3.3.2  业务控制器                             67
3.3.3  Struts 2的模型组件                  67
3.3.4  Struts 2的视图组件                  68
3.3.5  Struts 2的运行流程                  68
3.4    Struts 2的基本配置                   69
3.4.1  配置web.xml文件                     69
3.4.2  struts.xml配置文件                   71
3.4.3  struts.properties配置文件          74
3.4.4  struts.xml文件结构                    78
3.5    本章小结                                   82


第4章  深入Struts 2                             83
4.1    深入Struts 2的配置文件               83
4.1.1  Bean配置                                   84
4.1.2  常量配置                                    85
4.1.3  包配置                                       87
4.1.4  命名空间配置                             89
4.1.5  包含配置                                    91
4.1.6  拦截器配置                                 91
4.2    Struts 2的Action                           92
4.2.1  实现Action处理类                         92
4.2.2  Action访问Servlet API                   97
4.2.3  Action直接访问Servlet API           100
4.2.4  配置Action                                 103
4.2.5  配置Action的默认处理类              104
4.2.6  动态方法调用                             105
4.2.7  为action元素指定method
4.2.7  属性                                          107
4.2.8  使用通配符                                109
4.2.9  配置默认Action                           115
4.3    管理处理结果                              116
4.3.1  处理结果的改进                          116
4.3.2  配置结果                                    117
4.3.3  Struts 2支持的处理结果
4.2.7  类型                                           118
4.3.4  plainText结果类型                        120
4.3.5  redirect结果类型                          123
4.3.6  redirectAction结果类型                 124
4.3.7  动态结果                                     125
4.3.8  请求参数决定结果                        126
4.3.9  全局结果                                     129
4.4    属性驱动和模型驱动                      130
4.4.1  模型的作用                                  130
4.4.2  使用模型驱动                               131
4.5    Struts 2的异常机制                        134
4.5.1  Struts 2的异常处理哲学                 135
4.5.2  声明式异常捕捉                            136
4.5.3  输出异常信息                               139
4.6    未知处理器                                   141
4.7    本章小结                                      143

 
第5章  Struts 2的类型转换                      144
5.1    类型转换的意义                            145
5.1.1  表现层数据处理                           145
5.1.2  类型转换                                     145
5.2    Struts 2内建的类型转换器              149
5.3    基于OGNL的类型转换                     151
5.4    自定义类型转换器                          155
5.4.1  系统需求                                       155
5.4.2  实现类型转换器                             157
5.4.3  局部类型转换器                             159
5.4.4  全局类型转换器                             161
5.4.5  基于Struts 2的类型转换器              163
5.4.6  数组属性的类型转换器                   165
5.4.7  集合属性的类型转换器                   168
5.5    集合类型转换的高级特性                170
5.5.1  指定集合元素的类型                      170
5.5.2  为Set集合的元素指定
4.2.7  索引属性                                       172
5.6    类型转换中错误处理                        174
5.6.1  类型转换的错误处理流程                 174
5.6.2  处理类型转换错误                           176
5.6.3  输出类型转换错误                           176
5.6.4  处理集合属性的转换错误                 179
5.7    本章小结                                         182


第6章  Struts 2的输入校验                         183
6.1    输入校验概述                                   184
6.1.1  为什么需要输入校验                        184
6.1.2  客户端校验                                     185
6.1.3  服务器端校验                                  187
6.1.4  类型转换和输入校验                        191
6.2    基本输入校验                                   192
6.2.1  编写校验规则文件                            192
6.2.2  国际化提示信息                               195
6.2.3  使用客户端校验                               197
6.3    校验器的配置风格                             200
6.3.1  字段校验器配置风格                         201
6.3.2  非字段校验器配置风格                      201
6.3.3  短路校验器                                      203
6.3.4  校验顺序和短路                               205
6.4    校验文件的搜索规则                         205
6.5    内建校验器                                      208
6.5.1  注册校验器                                     208
6.5.2  必填校验器                                     210
6.5.3  必填字符串校验器                           210
6.5.4  整数校验器                                     211
6.5.5  日期校验器                                     212
6.5.6  表达式校验器                                  213
6.5.7  字段表达式校验器                            213
6.5.8  邮件地址校验器                               214
6.5.9  网址校验器                                      215
6.5.10 Visitor校验器                                   216
6.5.11 转换校验器                                     219
6.5.12 字符串长度校验器                            220
6.5.13 正则表达式校验器                            221
6.6    基于Annotation的输入校验                  221
6.7    手动完成输入校验                              223
6.7.1  重写validate()方法                             223
6.7.2  重写validateXxx()方法                        225
6.7.3  Struts 2的输入校验流程                      227
6.8    本章小结                                           228


第7章  上传和下载文件                                229
7.1    文件上传的原理                                  230
7.1.1  表单元素的enctype属性                      230
7.1.2  手动上传                                           233
7.1.3  使用上传框架完成上传                        235
7.2    Struts 2的文件上传                              241
7.2.1  Struts 2的文件上传支持                       241
7.2.2  实现文件上传的Action                         242
7.2.3  配置文件上传的Action                         244
7.2.4  手动实现文件过滤                               246
7.2.5  拦截器实现文件过滤                            249
7.2.6  输出错误提示                                      250
7.2.7  文件上传的常量配置                            252
7.3    使用Pell上传                                        252
7.4    同时上传多个文件                                253
7.4.1  使用数组同时上传多个文件                  254
7.4.2  使用List同时上传多个文件                    257
7.5    使用Struts 2控制文件下载                     258
7.5.1  实现文件下载的Action                          259
7.5.2  配置Action                                          260
7.5.3  下载前的授权控制                               261
7.6    本章小结                                             263


第8章  Struts 2的国际化                               264
8.1    程序国际化简介                                   265
8.1.1  程序国际化的意义                               265
8.1.2  Java国际化的思路                               265
8.1.3  Java支持的语言和国家                         266
8.1.4  完成程序国际化                                  267
8.1.5  使用MessageFormat处理
8.1.5  带占位符的消息                                  269
8.1.6  使用类文件代替资源文件                     270
8.2    Struts 2的国际化入门                           271
8.2.1  加载全局资源文件                               271
8.2.2  访问国际化消息                                  272
8.2.3  输出带占位符的国际化消息                  275
8.3    加载资源文件的不同方式                      277
8.3.1  包范围资源文件                                  277
8.3.2  Action范围资源文件                            279
8.3.3  临时指定资源文件                               279
8.3.4  加载资源文件的顺序                            281
8.4    允许用户自行选择程序语言                   282
8.4.1  Struts 2国际化的运行机制                    282
8.4.2  创建下拉列表框                                  283
8.4.3  选择程序语言                                     286
8.5    本章小结                                            287


第9章  Struts 2的标签库                               288
9.1    Struts 2标签库概述                             289
9.1.1  标签的优势                                       289
9.1.2  Struts 2的标签分类                            290
9.2    Struts 2标签入门                                291
9.2.1  使用Struts 2标签的准备                     291
9.2.2  Struts 2的OGNL表达式
9.2.2  语言                                                 292
9.2.3  OGNL中的集合操作                            295
9.2.4  访问静态成员                                    296
9.2.5  Lambda(λ)表达式                          296
9.3    控制标签                                           297
9.3.1  if/elseif/else标签                               297
9.3.2  iterator标签                                      298
9.3.3  append标签                                      300
9.3.4  generator标签                                  302
9.3.5  merge标签                                       304
9.3.6  subset标签                                       304
9.3.7  sort标签                                           307
9.4    数据标签                                           309
9.4.1  action标签                                        309
9.4.2  bean标签                                          311
9.4.3  date标签                                           313
9.4.4  debug标签                                        314
9.4.5  include标签                                       315
9.4.6  param标签                                        316
9.4.7  push标签                                          316
9.4.8  set标签                                             317
9.4.9  url标签                                              319
9.4.10 property标签                                     320
9.5    主题和模板                                         321
9.5.1  选择主题                                           321
9.5.2  自定义主题                                       323
9.6    表单标签                                           325
9.6.1  表单标签的通用属性                          325
9.6.2  表单标签的name和
9.6.2  value属性                                          328
9.6.3  checkboxlist标签                                 328
9.6.4  combobox标签                                    331
9.6.5  doubleselect标签                                 331
9.6.6  head标签                                           334
9.6.7  optiontransferselect标签                      334
9.6.8  select标签                                          336
9.6.9  radio标签                                           337
9.6.10 optgroup标签                                    338
9.6.11 token标签                                         340
9.6.12 updownselect标签                             341
9.7    非表单标签                                        343
9.7.1  actionerror和actionmessage
9.7.1  标签                                                 343
9.7.2  component标签                                 344
9.8    本章小结                                           347


第10章  Struts 2的拦截器                            348
10.1    理解拦截器                                      349
10.1.1  理解DRY规则                                   349
10.1.2  拦截器的意义                                  350
10.1.3  拦截器的实现原理                            352
10.1.4  拦截器和AOP的关系                         356
10.1.5  拦截器在Struts 2中的作用                 357
10.2    拦截器配置初步                                 359
10.2.1  配置拦截器                                         359
10.2.2  使用拦截器                                         361
10.2.3  配置默认拦截器                                  362
10.3    Struts 2内建的拦截器                          365
10.3.1  Struts 2内建的拦截器                          365
10.3.2  struts-default.properties里
10.3.2  配置的拦截器                                      366
10.4    开发自己的拦截器                               370
10.4.1  实现拦截器类                                     371
10.4.2  使用拦截器                                          372
10.4.3  拦截器和Struts 2插件的
10.4.3  关系                                                   374
10.5    深入拦截器编程                                   375
10.5.1  拦截方法的拦截器                               375
10.5.2  拦截器的执行顺序                               378
10.5.3  拦截结果的监听器                              380
10.5.4  覆盖拦截器栈里特定
10.5.4  拦截器的参数                                      381
10.6    拦截器示例:实现权限控制                  383
10.6.1  实现拦截器类                                      383
10.6.2  配置权限控制拦截器                            384
10.7    本章小结                                              386


第11章  Struts 2的Ajax支持                             387
11.1    Ajax概述                                              388
11.1.1  Ajax的起源和变革                               388
11.1.2  Ajax的核心技术                                   391
11.2    Struts 2提供的Ajax支持                        393
11.3    基于Dojo的异步表单                            397
11.3.1  安装Dojo插件                                      398
11.3.2  定义异步表单                                     398
11.3.3  实现Action                                          400
11.3.4  实现服务器响应页面                            402
11.4    基于Dojo的pub-sub事件
11.4    模型                                                     403
11.4.1  pub-sub的原理                                    404
11.4.2  pub-sub的示例                                    405
11.4.3  阻止请求                                             407
11.5    基于Dojo的Ajax标签                            407
11.5.1  p标签                                                 407
11.5.2  submit和a标签                                   414
11.5.3  autocompleter标签                              419
11.5.4  tabbedpanel标签                                426
11.5.5  datetimepicker                                    430
11.5.6  tree和treenode                                   432
11.5.7  textarea                                             435
11.5.8  bind                                                   436
11.6    基于JSON插件的Ajax
11.6    实现                                                     438
11.6.1  JSON的基本知识                                  438
11.6.2  安装Struts 2的JSON插件                     441
11.6.3  实现Action逻辑                                   441
11.6.4  实现JSP页面                                         443
11.7    本章小结                                              446


第12章  Struts 2的REST支持                           447
12.1    Codebehind插件和零配置                     448
12.1.1  自动搜索Action                                    448
12.1.2  使用Annotation指定命名
12.1.2  空间、父包和结果映射                          449
12.2    Convention插件和零配置                      452
12.2.1  搜索Action                                           453
12.2.2  按约定映射Action                                 454
12.2.3  按约定映射Result                                456
12.2.4  Action链的约定                                    459
12.2.5  自动重加载映射                                   461
12.3    Convention插件的相关常量                  461
12.4    Convention的Annotation                       462
12.4.1  Action配置相关的
12.4.1  Annotation                                           463
12.4.2  Result配置相关的
12.4.1  Annotation                                            464
12.4.3  包和命名空间相关的
12.4.1  Annotation                                            466
12.4.4  异常处理相关的Annotation                   466
12.4.5  拦截器配置相关的
12.4.1  Annotation                                            468
12.5    REST简介                                              468
12.5.1  资源和标识符                                        469
12.5.2  操作资源的方式                                   470
12.6    Struts 2的REST支持                              471
12.6.1  RestActionMapper简介                          471
12.6.2  安装REST插件                                      472
12.6.3  实现支持REST的
12.6.3  Action类                                                473
12.6.4  实现视图层                                            478
12.7    本章小结                                                 481


第13章  使用FreeMarker作为


第13章  表现层                                                  482
13.1    体验FreeMarker                                      483
13.1.1  下载和安装FreeMarker                           483


13.1.2  在Java程序中使用
13.1.2  FreeMarker                                            483
13.1.3  在Web应用中使用
13.1.2  FreeMarker                                            485
13.2    FreeMarker的模板文件                            489
13.2.1  模板结构                                                 489
13.2.2  FTL指令规则                                            490
13.2.3  插值规则                                                 490
13.3    表达式                                                     492
13.3.1  直接指定值                                              492
13.3.2  输出变量值                                              494
13.3.3  字符串操作                                              496
13.3.4  集合连接运算符                                        497
13.3.5  Map连接运算符                                       497
13.3.6  算术运算符                                              498
13.3.7  比较运算符                                             499
13.3.8  逻辑运算符                                             499
13.3.9  内建函数                                                 499
13.3.10  空值处理运算符                                    500
13.3.11  运算符优先级                                        500
13.4    FreeMarker的常用指令                            501
13.4.1  if指令                                                     501
13.4.2  switch、case、default、
13.4.2  break指令                                                502
13.4.3  list、break指令                                       502
13.4.4  include指令                                              503
13.4.5  import指令                                               503
13.4.6  noparse指令                                             503
13.4.7  escape、noescape指令                            504
13.4.8  assign指令                                               505
13.4.9  setting指令                                               506
13.4.10 macro、nested、return指令                    506
13.5    使用FreeMarker作为
13.5    Struts 2的视图技术                                    509
13.5.1  在FreeMarker模板中
13.5.1  使用Struts 2标签                                       509
13.5.2  使用Freemarker Result                               512
13.5.3  解析模板中的变量                                      514
13.5.4  访问Servlet/JSP范围的值                            516
13.6    本章小结                                                     517


第14章  整合Spring                                                518
14.1    Spring简介                                                   519
14.1.1  Spring的起源和核心                                    519
14.1.2  使用Spring的IoC容器                                 521
14.2    Struts 2插件                                               524
14.2.1  插件概述                                                    524
14.2.2  插件开发概述                                             526
14.3    使用Spring插件完成整合                             527
14.3.1  整合Spring前的准备工作                             528
14.3.2  整合Spring的思考                                       531
14.4    让Spring管理控制器                                     532
14.4.1  整合流程                                                     532
14.4.2  从页面请求开始                                          533
14.4.3  实现控制器逻辑                                          533
14.4.4  实现业务逻辑                                              535
14.5    使用自动装配                                               537
14.5.1  指定自动装配                                              537
14.5.2  修改配置文件                                              538
14.5.3  改变自动装配策略                                       539
14.6    本章小结                                                      540


第15章  整合JSF                                                      541
15.1    JSF简介                                                       541
15.1.1  JSF概述                                                       542
15.1.2  JSF和Struts 2的对比                                     542
15.2    使用MyFaces                                                543
15.2.1  下载和安装MyFaces                                    543
15.2.2  从输入页面开始                                           545
15.2.3  在Web应用中配置MyFaces                           547
15.2.4  实现后台Bean                                             548
15.2.5  定义导航规则                                              549
15.3    安装JSF插件                                                551
15.4    使用JSF插件                                                 552
15.4.1  实现业务逻辑组件                                      553
15.4.2  列出全部图书                                             556
15.4.3  添加/修改图书                                             558
15.5    整合JSF的思考                                            563
15.6    本章小结                                                     564


第16章  整合SiteMesh                                            565
16.1    SiteMesh简介                                             565
16.1.1  SiteMesh概述                                             566
16.1.2  下载和安装SiteMesh                                  567
16.1.3  定义装饰器页面                                         569
16.1.4  定义原始页面                                             570
16.1.5  更复杂的装饰器页面                                   572
16.2    使用SiteMesh插件                                        575
16.2.1  安装SiteMesh插件                                      575
16.2.2  在Struts 2中使用SiteMesh                           577
16.3    本章小结                                                     579


第17章  整合JasperReports                                     580
17.1    JasperReports简介                                      581
17.1.1  下载和安装JasperReports                             581
17.1.2  JasperReports初探                                        582
17.1.3  JasperReports的开发流程                             588
17.1.4  解决PDF报表的中文问题                              589
17.2    动态报表                                                       590
17.2.1  带参数的报表                                                590
17.2.2  带查询的报表                                               594
17.2.3  以VO集合作为数据源的
17.2.3  动态报表                                                     600
17.3    使用iReport设计报表                                     605
17.3.1  下载和安装iReport                                        605
17.3.2  使用iReport                                                 607
17.3.3  建立数据源                                                  608
17.3.4  设计报表布局                                                611
17.4    安装JasperReports插件                                 614
17.5    使用JasperReports报表                                 614
17.5.1  创建生成报表的Action                                   615
17.5.2  配置生成JasperReports
17.2.3  报表的Action                                                616
17.5.3  生成JasperReports报表                                617
17.6    本章小结                                                       618


第18章  整合JFreeChart                                            619
18.1    JFreeChart简介                                             620
18.1.1  JFreeChart的下载和安装                               620
18.1.2  使用JFreeChart                                             621
18.1.3  JFreeChart开发步骤                                     623
18.2    JFreeChart的常用统计图表                            624
18.2.1  柱状图                                                         625
18.2.2  折线图                                                         629
18.2.3  时间顺序图                                                   630
18.3    在网页中生成带交互功能的
18.3    统计图                                                           633
18.4    安装JFreeChart插件                                      638
18.5    在Struts 2应用中使用
18.5    JFreeChart                                                    639
18.5.1  创建Action类                                                639
18.5.2  配置Action                                                   641
18.6    本章小结                                                       642


第19章  整合Hibernate                                              643
19.1    Hibernate概述                                               644
19.1.1  Hibernate的作用                                            644
19.1.2  Hibernate的优势                                            646
19.2    Hibernate开发入门                                         646
19.2.1  Hibernate下载和安装                                   646
19.2.2  使用Hibernate保存记录                                 647
19.2.3  使用Hibernate查询记录                                 652
19.3    Struts 2整合Hibernate的思考                          654
19.3.1  自定义的整合方案                                        654
19.3.2  整合方案的实现策略                                      656
19.4    整合示例                                                       656
19.4.1  持久层设计                                                    656
19.4.2  DAO层设计                                                    660
19.4.3  业务逻辑层设计                                           663
19.4.4  初始化组件工厂                                          665
19.4.5  控制器实现                                                    666
19.5    整合后的思考和Spring框架                             668
19.6    本章小结                                                        669


第20章 “零配置”案例:注册


第20章  登录系统                                                     670
20.1    系统概述                                                       671
20.1.1  系统功能简介                                               671
20.1.2  系统总体设计                                                671
20.2    实现Hibernate持久层                                     672
20.2.1  编写持久化PO类                                           672
20.2.2  编写映射文件                                                673
20.3    实现DAO层                                                   674
20.3.1  管理SessionFactory                                       674
20.3.2  编写DAO接口                                                 675
20.3.3  实现DAO组件                                                 677
20.3.4  配置DAO组件                                                 679
20.4    实现业务逻辑层                                             679
20.4.1  定义业务逻辑组件接口                                   679
20.4.2  提供业务逻辑组件实现类                               680
20.4.3  配置业务逻辑组件                                           682
20.5    使用Struts 2                                                    683
20.5.1  整合Struts 2和Spring                                      683
20.5.2  处理登录                                                       685
20.5.3  图形验证码                                                    689
20.5.4  使用Ajax验证用户名                                      692
20.5.5  注册新用户                                                    696
20.6    使用SiteMesh装饰页面                                    699
20.7    本章小结                                                        700


第21章  电子拍卖系统                                                701
21.1    系统功能简介和架构设计                                702
21.1.1  系统功能简介                                                 702
21.1.2  系统架构设计                                                 702
21.1.3  相关技术介绍                                                703


21.2    持久层设计                                                     706
21.2.1  系统实体                                                       706
21.2.2  系统E-R图和数据表                                        707
21.2.3  实现Hibernate PO                                           709
21.2.4  管理SessionFactory                                        718
21.3    实现系统DAO层                                               720
21.3.1  DAO的基础配置                                              721
21.3.2  实现系统DAO组件                                           721
21.3.3  配置系统DAO组件                                           728
21.4    实现业务逻辑层                                               729
21.4.1  定义业务逻辑组件接口                                   730
21.4.2  依赖注入DAO组件                                           732
21.4.3  业务逻辑组件中的异常
21.4.3  处理                                                               733
21.4.4  处理用户竞价                                                735
21.4.5  判断拍卖物品状态                                          737
21.4.6  事务管理                                                       740
21.4.7  配置业务层组件                                             741
21.5    实现系统Web层                                              744
21.5.1  配置Struts 2的核心Filter                                744
21.5.2  处理用户登录                                                745
21.5.3  图形验证码                                                   749
21.5.4  Web层的异常处理                                       750
21.5.5  登录控制                                                      751
21.5.6  添加物品                                                      753
21.5.7  处理用户竞价                                                760
21.6    使用SiteMesh页面装饰                                   766
21.6.1  在Struts 2中整合SiteMesh
21.6.1  页面装饰                                                       766
21.6.2  定义页面装饰                                                767
21.7    本章小结                                                      770


��