Struts2基础与案例开发详解

Struts2基础与案例开发详解"

作者:胡波,邱加永,许焕新
ISBN:9787302327264
定价:¥58
字数:千字
页数:
出版时间:2013.10.01
开本:
版次:1-3
装帧:
出版社:清华大学出版社
简介

本书以理论和实践相结合的模式,介绍如何用Struts2来开发基于B/S结构的应用程序,使读者更容易掌握Struts2的相关知识。

本书共分17章,其中第1~12章循序渐进地讲解Struts2基本知识、Struts2配置方式、Struts2拦截器、OGNL表达式、Struts2标签、Struts2校验等相关内容,第13~16章讲解前端技术jQuery、Struts2测试以及Struts2、Spring、Hibernate的整合等内容,第17章讲解使用Struts2开发一个日志管理系统的方法。

本书内容结构合理,语言简练、容易理解,适合Struts2的初学者或有相关编程经验的用户使用,也可供广大软件开发者和编程爱好者参考使用,更是学校及培训机构的首选用书。

前言

Struts2用于构建基于Java平台的动态Web应用程序,是Apache Struts与Webwork合并后的一种应用广泛的MVC模型技术。Struts2完美地继承了Webwork的优点,并在此基础上不断进步与发展,相对于Struts1,Struts2更容易学习和掌握。本书不仅讲解了Struts2的相关知识以及各方面的使用,而且还讲解了与其相关的Hibernate、Spring、jQuery的应用等内容,最后给出了一个完整的系统开发案例。

本书共分为17章,其中前16章属于理论介绍,最后一章属于实例开发。具体内容如下。

第1章介绍Struts2的背景知识、下载和安装,并在最后给出了一个快速入门的实例。

第2章介绍Struts2的工作原理,以让读者了解Struts2是如何处理客户端发送过来的请求的,并在最后给出了一个用户登录的小例子。

第3章与第 4 章详细介绍Struts2的配置,比较系统地涵盖Struts2 相关配置说明与使用实例。

第5章介绍Struts2的核心组件——拦截器,包括其工作原理、配置方式以及相关实例。

第6章介绍Struts2的类型转换功能,以理解Struts2如何优雅地解决数据类型转换问题。

第7章介绍OGNL表达式的用法,为介绍后续的Struts2标签做准备。

第8章与第 9 章详细介绍Struts2的常用标签,掌握这些标签会让开发者事半功倍,考虑到标签比较多,本章节也可作为日后的参考资料。

第10章介绍Struts2的校验配置与使用,Struts2的校验支持服务器端、客户端以及最新的Ajax校验。

第11章介绍Struts2国际化的相关知识。

第12章介绍Struts2的实用程序,包括解决表单重复提交的Token,Struts2上传与下载,中文乱码处理,SiteMesh布局以及FreeMarker模板的整合。

第13章介绍Struts2与Spring、Hibernate技术整合的配置方法。

第14章与第 15 章介绍当前非常热门的JS框架——jQuery,掌握这些内容可以更好地帮助开发人员解决前端问题。

第16章介绍Struts2的测试技术,包括Struts2单独测试以及与Spring整合在一起的集成测试。

第17章介绍了基于Struts2、Spring、Hibernate开发的一个AOP日志系统。

本书对理论知识的讲解步骤清晰、由浅入深、通俗易懂;实例部分的选材结合实际应用,循序渐进,操作步骤便于用户模仿。在理论知识讲解的过程中也引用了大量的实例、截图并详细讲解了操作步骤。相关代码列举清晰,使用户更容易理解和模仿编程,具有很大的实用价值。本书添加的一些提示和注意等内容,都是作者经验的总结,目的是让读者在最短的时间内,掌握更深的技术。

本书由胡波、邱加永、许焕新编著,同时参加本书编写和校对工作的还有徐明华、于坤、单兴华、郑经煜、周大庆、卞志城、赵晓、聂静宇、尼春雨、张丽、王国胜、张石磊、伏银恋、蒋军军、蒋燕燕、王海龙、曹培培等。由于编者水平有限,书中难免存在疏漏和不足之处,恳请专家和广大读者予以指正。

编  者

目录

目    录

 

第1章  Struts2起步 1

1.1  Struts2概述 2

1.2  Struts2的安装 3

1.3  一个HelloWorld示例 4

1.3.1  创建Web应用 4

1.3.2  配置Struts2 5

1.3.3  创建控制类HelloWorld 5

1.3.4  创建HelloWorld.jsp 6

1.3.5  配置HelloWorld 7

1.3.6  发布运行HelloWorld 8

1.4  本章小结 9

1.5  上机练习 9

第2章  体验Struts2 11

2.1  Struts2的执行流程与原理 12

2.2  登录程序示例 18

2.3  Action的驱动模式 21

2.3.1  Property-Driven 22

2.3.2  Model-Driven 24

2.4  request、response、session、application

对象的访问 26

2.5  完善登录程序 27

2.6  本章小结 30

2.7  上机练习 30

第3章  Struts2的配置方式一 31

3.1  web.xml的配置 32

3.2  struts.xml的配置 34

3.2.1  bean的配置 34

3.2.2  package的配置 36

3.2.3  namespace的配置 37

3.2.4  constant的配置 38

3.2.5  interceptor的配置 38

3.2.6  include的配置 41

3.2.7  action的配置 41

3.2.8  result的配置 45

3.2.9  exception的配置 47

3.3  Result types的配置 49

3.3.1  Chain Result的配置 50

3.3.2  Dispatcher Result的配置 51

3.3.3  FreeMarker Result的配置 52

3.3.4  HttpHeader Result的配置 52

3.3.5  Redirect Result的配置 52

3.3.6  Stream Result的配置 53

3.3.7  Velocity Result的配置 54

3.3.8  XSLT Result的配置 55

3.3.9  PlainText Result的配置 56

3.3.10  JSON Result的配置 57

3.3.11  全局结果 60

3.3.12  动态结果映射 62

3.4  本章小结 63

3.5  上机练习 63

第4章  Struts2的配置方式二 65

4.1  Annotation的配置 66

4.1.1  Namespace的配置 68

4.1.2  ParentPackage的配置 68

4.1.3  Action的配置 70

4.1.4  Actions的配置 71

4.1.5  InterceptorRefs的配置 72

4.1.6  Result的配置 72

4.1.7  Results的配置 73

4.1.8  ResultPath的配置 73

4.1.9  ExceptionMapping的配置 74

4.1.10  ExceptionMappings的配置 74

4.2  Validation Annotations的配置 75

4.2.1  ConversionErrorFieldValidator

的配置 75

4.2.2  DateRangeFieldValidator的

配置 78

4.2.3  DoubleRangeFieldValidator的

配置 81

4.2.4  EmailValidator的配置 82

4.2.5  ExpressionValidator的配置 82

4.2.6  IntRangeFieldValidator的

配置 83

4.2.7  RegexFieldValidator的配置 85

4.2.8  RequiredFieldValidator的

配置 86

4.2.9  RequiredStringValidator的

配置 87

4.2.10  StringLengthFieldValidator的

 配置 87

4.2.11  UrlValidator的配置 88

4.2.12  Validation的配置 89

4.2.13  Validations的配置 90

4.2.14  VisitorFieldValidator的

 配置 91

4.2.15  CustomValidator的配置 93

4.3  struts.properties的配置 95

4.4  struts-plugin.xml的配置 95

4.5  各种配置文件的加载顺序 95

4.6  本章小结 95

4.7  上机练习 96

第5章  体验Struts2拦截器 97

5.1  Struts2拦截器的体系结构 98

5.2  Struts2拦截器 99

5.3  自定义拦截器 101

5.4  拦截器的示例 102

5.5  用Annotation配置拦截器 109

5.6  本章小结 110

5.7  上机练习 111

第6章  Struts2的类型转换 113

6.1  Struts2的类型转换器 114

6.2  自定义转换器 115

6.3  批量类型转换实例 119

6.4  类型转换的原理与实现 123

6.5  本章小结 124

6.6  上机练习 124

第7章  OGNL的应用 127

7.1  OGNL概述 128

7.2  OGNL的语法基础 128

7.2.1  OGNL的表达式 128

7.2.2  常量 129

7.2.3  操作符 129

7.2.4  访问JavaBean的属性 129

7.2.5  索引访问 129

7.3  OGNL的使用 133

7.4  Struts2中的OGNL 137

7.5  本章小结 139

7.6  上机练习 139

第8章  Struts2标签一 141

8.1  Struts2标签的引入 142

8.2  通用标签 144

8.2.1  流程控制标签 144

8.2.2  数据标签 157

8.3  UI标签 173

8.3.1  表单标签 173

8.3.2  非表单标签 193

8.4  本章小结 197

8.5  上机练习 197

第9章  Struts2标签二 199

9.1  Ajax标签 200

9.1.1  a标签 200

9.1.2  autocompleter标签 203

9.1.3  bind标签 206

9.1.4  datetimepicker标签 209

9.1.5  div标签 211

9.1.6  head标签 214

9.1.7  submit标签 216

9.1.8  tabbedpanel标签 218

9.1.9  textarea标签 222

9.1.10  tree/treenode标签 223

9.2  Struts2主题和模板 226

9.3  本章小结 228

9.4  上机练习 228

第10章  Struts2校验 231

10.1  快速上手 232

10.2  服务器端的校验配置 238

10.3  客户端的校验配置 247

10.4  Ajax的校验配置 251

10.5  本章小结 253

10.6  上机练习 254

第11章  Struts2的国际化 255

11.1  常见国际化实例 256

11.2  页面内容国际化 258

11.3  错误信息国际化 264

11.4  格式化输出日期和数值 266

11.5  资源文件的加载方式和流程 268

11.6  本章小结 272

11.7  上机练习 272

第12章  Struts2的扩展功能 273

12.1  Token应用 274

12.1.1  TokenInterceptor的使用 274

12.1.2  TokenSessionStoreInterceptor

 的使用 279

12.2  Struts2的上传、下载实现 281

12.2.1  Struts2文件上传 281

12.2.2  Struts2文件下载 290

12.3  Struts2中文乱码处理总结 297

12.4  页面跳转技巧 298

12.5  使用SiteMesh布局 299

12.5.1  SiteMesh简介 299

12.5.2  SiteMesh运行原理 300

12.5.3  SiteMesh实例 301

12.6  在Struts2中使用FreeMarker 305

12.6.1  FreeMarker简介 305

12.6.2  FreeMarker快速上手 305

12.6.3  在Struts2中使用

 FreeMarker 307

12.7  本章小结 310

12.8  上机练习 310

第13章  S2SH整合 313

13.1  S2SH整合的目的 314

13.2  Struts2与Spring整合 315

13.3  Struts2与Hibernate整合 319

13.4  Struts2 + Spring + Hibernate整合 324

13.5  本章小结 329

13.6  上机练习 330

第14章  jQuery的应用一 331

14.1  jQuery的安装 332

14.2  强大的选择器 332

14.2.1  基本选择器 332

14.2.2  层级选择器 333

14.2.3  简单选择器 335

14.2.4  内容选择器 337

14.2.5  可见性选择器 339

14.2.6  属性选择器 340

14.2.7  子元素选择器 342

14.2.8  表单选择器 344

14.2.9  表单对象属性选择器 347

14.3  jQuery的文档处理 348

14.3.1  选择元素 349

14.3.2  新增元素 350

14.3.3  修改元素 351

14.3.4  删除元素 352

14.3.5  复制元素 352

14.3.6  包裹元素 353

14.3.7  添加元素 353

14.3.8  属性操作 358

14.3.9  获取和设置Html、

 文本和值 362

14.4  jQuery选择器 365

14.5  本章小结 368

14.6  上机练习 369

第15章  jQuery的应用二 371

15.1  jQuery的事件处理 372

15.1.1  页面加载 372

15.1.2  事件绑定 373

15.1.3  移除事件 375

15.1.4  切换事件 377

15.1.5  触发事件 378

15.2  jQuery效果处理 380

15.2.1  基本效果 380

15.2.2  淡入、淡出效果 381

15.2.3  滑动效果 382

15.2.4  自定义动画 382

15.3  jQuery Ajax支持 390

15.3.1  load()方法 390

15.3.2  $.get()方法 392

15.3.3  $.post()方法 395

15.3.4  $. getScript()方法 396

15.3.5  $.getJson()方法 396

15.3.6  $.ajax()方法 396

15.3.7  序列化元素 399

15.3.8  Ajax全局事件 401

15.4  jQuery工具函数 401

15.5  本章小结 405

15.6  上机练习 405

第16章  Struts2的测试 407

16.1  单元测试简介 408

16.2  Struts2的单元测试 408

16.2.1  Struts2单独进行单元

 测试 409

16.2.2  Struts2与Spring集成进行

 单元测试 413

16.3  本章小结 415

16.4  上机练习 415

第17章  AOP日志管理系统 417

17.1  系统概述 418

17.2  系统需求 418

17.3  系统功能描述 418

17.4  数据库设计 422

17.4.1  E-R图设计 422

17.4.2  物理建模 422

17.4.3  设计表格 423

17.4.4  表格脚本 423

17.5  编码实现 424

17.5.1  编写配置文件 424

17.5.2  编写Action类 429

17.5.3  编写业务类 430

17.6  运行工程 430

17.6.1  使用工具 430

17.6.2  工程部署 431

17.6.3  运行程序 431

17.7  本章小结 433

附录  部分属性设置说明 434

 

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个