首页>参考读物>计算机科学与技术>软件与程序设计

零基础学Struts
作者 : 卜炟
丛书名 : 零基础学编程
出版日期 : 2009-03-10
ISBN : 7-111-26149-0
定价 : 58.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 445
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书精华
  ●MVC设计模式
  ●Struts 2类型转换
  ●OGNL表达式
  ●客户端输入校验
  ●服务器端输入校验
  ●Struts 2校验框架
  ●代理模式
  ●Struts 2的拦截器
  ●文件的上传和下载
  ●Struts 2国际化
  ●Struts 2标签库
  ●Ajax技术
  ●Struts 2整合Ajax开发
  ●图表生成工具JFreeChart
  ●Struts 2整合JFreeChart开发
  ●报表生成工具JasperReports
  ●Struts 2整合JasperReports开发
  ●Hibernate持久层框架
  ●Struts 2整合Hibernate开发
  ●Spring框架
  ●Struts 2整合Spring开发
  ●注册登录系统
  ●用户管理系统

图书特色

图书前言

Struts框架是全世界第一个MVC框架,发展至今有多年的历史,一直备受开发人员热捧。但是随着时间的流逝,Struts框架暴露出许多的缺陷,这些缺陷一直困挠着大量的开发人员,许多开发人员不得不选择其他MVC框架。所幸的是,  Struts 2框架横空问世了。Struts 2框架整合了两个非常优秀的MVC框架:Struts和WebWork。
  Struts 2框架继承了Struts和WebWork两个框架的易用性,其功能相比Struts和WebWork来说要更加强大。Struts 2框架利用了WebWork的拦截器机制,从而使Struts 2具有高度可扩展性。Struts 2的开发团队由原有的Struts和WebWork两个团队组成,大大加强了Struts 2开发团队力量。Struts 2从诞生至今以其功能的强大性和易用性吸引了大量Java Web开发人员的眼球。目前大量原有的Struts和WebWork开发项目也都转入使用Struts 2框架开发。相信随着Struts 2的发展,Struts 2最终将取代Struts框架成为开发人员的首选MVC开发框架。
  本书重点介绍了Struts 2框架的核心部分以及Struts 2框架与其他框架的整合。核心部分介绍了Struts 2的类型转换、输入校验、拦截器、国际化、标签库以及Struts 2的Ajax支持。书中通过实例来讲解知识点,使读者学习起来不会枯燥,更容易理解。同时本书介绍了Struts 2框架与其他框架的整合功能,如整合报表工具JasperReports、统计图表工具JFreeChart、持久层框架Hibernate以及Spring框架等。本书深入浅出,内容丰富,既可以作为初学者的入门指南,也可以作为开发人员的案头参考书。
  本书特点
  1. 实例经典,内容丰富
  每个知识点都通过一个配套的案例展开讲述。最后还提供了几个开发常用的系统模块,如登录系统、用户管理系统。
  2. 取材广泛,内容充实
  笔者在讲解每一个知识点时都会考虑如何组织实例代码。这些实例代码大部分都是在项目中常用的。这些实例都能将该知识点很好地组织起来并运用到实际项目中。
  3. 讲解通俗,步骤详细
  本书通过对话形式展开论述,讲解通俗易懂。读者只要按照开发步骤来编写程序,就能很快地掌握Struts 2框架的使用。
  4. 专业知识,抓住主线
  本书对于Struts 2的类型转换、输入校验、拦截器、国际化、标签库等重点内容采用了大量的案例进行讲述。
  5. 读者服务,在线交流
  读者可以登录融智科技的读者交流论坛(www.rzchina.net),并在该论坛提出学习中遇到的困难,及对本书的意见和建议。笔者将在第一时间为读者作出解答。
  本书内容
  第1章以一个登录案例为例,介绍了使用Model 1模式和Model 2模式开发的区别。介绍了如何使用MVC设计模式来改写登录案例,以及MVC设计模式的优点。介绍了常用的MVC框架,其中详细地介绍了Struts 1框架。通过下载和安装Struts 1框架,并完成基于Struts 1框架的登录案例。也介绍了如何在Eclipse中新建Web项目、整合Tomcat服务器以及通过Eclipse的插件来为Web应用添加Struts 1框架支持。并详细介绍如何在Eclipse中添加ActionForm、Action以及部署项目。
  第2章介绍了Struts 1存在的问题,并介绍了Struts 2的起源。详细介绍了如何下载及安装Struts 2框架,并通过实例介绍了如何创建基于Struts 2的项目。还介绍了如何通过Eclipse来为项目添加Struts 2支持以及如何添加控制器以及struts.xml。简单介绍了如何完成输入校验和程序国际化,这部分的知识将在后面的章节中进行详细的介绍并说明,这里只是给读者一个感性的认识。
  第3章详细地介绍了为什么要进行类型转换以及如何进行类型转换。介绍了如何通过OGNL的DefaultTypeConverter类和Struts的StrutsTypeConverter类进行类型转换。详细介绍了局部类型转换和全局类型转换的使用方法以及类型转换错误信息的处理和国际化类型转换和数据校验是紧密结合的,下一章将结合类型转换来讲解数据校验,因此一定要弄懂类型转换的基础知识。
  第4章介绍了什么是输入校验,为什么要进行输入校验。介绍了输入校验的两种实现方式:一种是客户端校验;另一种是服务器端校验。详细介绍了如何通过JavaScript代码来实现客户端校验。同样对于服务器端校验展开了详细的介绍和说明。介绍了如何通过addActionError()方法和addFieldError()方法来添加校验错误提示信息。最后介绍了如何实现动态方法调用以及如何校验动态方法。本章的输入校验都是通过手动编写校验代码来实现的,在下一章将介绍如何通过Struts 2提供的校验框架来完成校验。
  第5章介绍了使用Struts 2校验框架的好处以及编写校验规则文件的方法。详细介绍了近年来各种校验器的配置风格。介绍了Struts 2中有哪些内建校验器,以及这些校验器分别实现哪些校验功能。也介绍了如何运用这些内建校验器来完成输入校验。同时还介绍了如何添加客户端校验以及实现国际化。最后介绍了如何实现校验短路、校验规则和文件搜索规则。
  第6章介绍了代理模式以及动态代理模式,为学习拦截器打下牢固基础。然后介绍了什么是拦截器,以及拦截器的实现原理。重点介绍了如何定义一个拦截器类,配置拦截器以及使用拦截器。还介绍了拦截器的深入知识,如传递参数、配置拦截器栈、拦截器执行顺序、方法过滤、拦截结果监听器。简单介绍了Struts 2中内建的拦截器,以及这些拦截器的配置。本章最后通过一个案例来演示如何通过拦截器来实现权限控制。
  第7章介绍了如何下载并安装Common-FileUpload框架以及COS框架,如何分别通过这两个框架实现文件上传。重点介绍了如何基于Struts 2完成文件下载,并介绍了一些常用的配置,如配置文件保存目录、实现文件过滤、输出错误提示。还介绍了如何使用数组和List实现上传多个文件。本章还介绍了如何通过Struts 2的文件下载支持来实现文件下载,并通过结合拦截器实现了下载权限控制。
  第8章介绍了国际化实现原理,分别介绍了资源文件的命名规则、Java所有支持的国家与地区名、语言名及其代码。并介绍了如何完成Java程序的国际化,以及如何通过参数为占位符赋值。详细介绍了JSP页面国际化的两种访问资源文件方式,以及加载资源文件顺序。还介绍了Action中访问国际化资源的3种方式,以及这3类资源文件加载的顺序。本章最后通过一个用户自行选择语言环境的示例,分别介绍了如何通过Action以及Struts 2的i18n拦截器来设置当前默认语言环境。
第9章介绍了使用标签的优势,以及如何使用Struts 2的标签库和Struts 2标签分类。本章还介绍了基本OGNL表达式,为后面标签的使用打下基础。本章详细介绍了Struts 2中常用的逻辑控制标签、数据访问标签以及UI标签。对于每个标签的使用都配置了大量的示例来讲解。
  第10章介绍了什么是Ajax,以及Ajax应用相对于传统Web应用的优势,并介绍了Ajax的技术组成。通过实例演示了如何使用传统Web应用实现用户登录以及使用Ajax技术实现用户登录,从而体现Ajax技术的优势所在。本章还介绍了如何基于DWR开发Ajax应用,以及在Struts 2中通过整合DWR来完成Ajax表单输入校验。最后还介绍了如何在Struts 2中使用JSON插件来完成Ajax交互。
  第11章介绍了如何通过JFreeChart生成各种统计图表,如饼图、柱状图、折线图、面积图以及层叠区域图等。并介绍了如何设置图表中的属性以达到需要的效果。同时还介绍了如何在网页中生成和统计图表。最后介绍了如何整合Struts 2以及JFreeChart,并通过实例介绍了如何在Struts 2应用中生成统计图表并显示出来。
  第12章介绍了JasperReports和iReport的下载和安装,以及如何手动地设计报表和编译、填充、导出不同格式的报表。重点介绍了使用iReport设计报表,其中介绍了如何导出PDF文件格式的报表以及解决其中文无法显示问题。简单介绍了动态报表,如带查询的报表、带参数的报表。最后介绍了如何在Struts 2中整合JasperReports来生成报表。
  第13章介绍了什么是ORM,以及Hibernate框架的优势。通过实例介绍了如何配置Hibernate配置文件以及映射文件,并详细介绍了如何通过Hibernate实现数据的新增、删除修改、查询操作。本章重点介绍了Struts 2整合Hibernate开发,详细分析了整合策略,并通过分层的思想来完成应用开发。通过Struts 2的Action调用业务逻辑组件,而业务逻辑组件调用DAO组件,DAO组件中封装了Hibernate持久化访问数据库操作,从而大大降低了组件之间的耦合度。
  第14章介绍了Spring框架的优势,以及Spring的IoC应用。本章还介绍了Spring的依赖注入,分别介绍了通过Set方法注入依赖和使用构造方法注入依赖等。本章还介绍了Spring的自动装配,并通过示例来演示不同类型的自动装配。本章重点介绍了Struts 2整合Spring开发,通过登录案例演示了Struts 2和Spring的整合。最后通过整合Struts 2、Hibernate以及Spring框架完成了产品管理应用开发。
  第15章介绍了通过基于Struts 2、Spring和Hibernate框架来开发注册登录系统。在开发系统中,充分地利用J2EE分层的思想。通过Struts 2框架负责与用户进行交互,并通过业务逻辑组件完成业务逻辑判断。通过Struts 2整合Spring,从而为Struts 2中的Action注入业务逻辑组件。同时整合Hibernate框架进行持久化访问操作。本系统中还使用了Struts 2的JSON插件来完成Ajax交互,从而实现异步的检测用户名是否占用。本系统还使用了图形验证码,从而防止恶意用户的侵入,增强系统的安全性。
  第16章重点介绍了通过基于Struts 2、Spring和Hibernate框架来开发用户管理系统。在开发系统中,充分地利用J2EE分层的思想。通过Struts 2框架负责与用户进行交互,并通过业务逻辑组件完成业务逻辑判断。通过Struts 2整合Spring,从而为Struts 2中的Action注入业务逻辑组件。同时整合Hibernate框架进行持久化访问操作。通过用户管理系统可以查看所有的用户信息,并对注册用户进行删除以及更新、添加等其他操作。
  本书适合的读者
  本书面向所有进行Java Web开发的初学者或者由Struts框架转向Struts 2框架开发的读者。本书力求以全面的知识及丰富的实例来指导读者透彻学习Struts 2框架技术。
  如果您是开发Java Web应用的初学者,建议按照本书的先后顺序来学习;如果您已经有了足够的开发经验,只是对Struts 2的某些技术感兴趣,可以选择阅读相关章节,把本书作为随时供翻阅的参考资料。
  本书的作者
  本书主要由卜编著,其他参与编著和资料整理的人员有冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳、李玉涵、杨利润、杨春娇、武鹏、潘中强、王丹、王宁、王西莉、石淑珍、程彩红、邵毅、郑丹丹、郑海平、顾旭光。
  编  者

封底文字

本书精华 ●MVC设计模式 ●Struts 2类型转换 ●OGNL表达式 ●客户端输入校验 ●服务器端输入校验 ●Struts 2校验框架 ●代理模式 ●Struts 2的拦截器 ●文件的上传和下载 ●Struts 2国际化 ●Struts 2标签库 ●Ajax技术 ●Struts 2整合Ajax开发 ●图表生成工具JFreeChart ●Struts 2整合JFreeChart开发 ●报表生成工具JasperReports ●Struts 2整合JasperReports开发 ●Hibernate持久层框架 ●Struts 2整合Hibernate开发 ●Spring框架 ●Struts 2整合Spring开发 ●注册登录系统 ●用户管理系统

作者简介

卜炟:暂无简介

图书目录

写给未来的程序员
前言
第一篇 从JSP到Struts 2
第1章 Struts 2前奏 1
1.1 MVC思想概述 1
1.1.1 简单的登录案例 1
1.1.2 测试案例 4
1.1.3 Model 1和Model 2 6
1.1.4 使用MVC设计模式改进代码 7
1.1.5 测试MVC改进代码 9
1.2 MVC框架介绍 9
1.2.1 常用的MVC框架 9
1.2.2 Struts 1框架简介 10
1.2.3 下载并安装Struts 1框架 10
1.2.4 基于Struts 1框架实现登录案例 12
1.3 在Eclipse中开发Struts 1 15
1.3.1 新建Web项目 16
1.3.2 整合Tomcat服务器 17
1.3.3 为项目添加Struts 1支持 18
1.3.4 添加ActionForm 19
1.3.5 添加Action 21
1.3.6 部署Struts 1项目 23
1.4 小结 24
第2章 Struts 2基础 25
2.1 Struts 2概述 25
2.1.1 Struts 1的缺陷 25
2.1.2 Struts 2简介 26
2.2 构建第一个Struts 2应用 27
2.2.1 下载并安装Struts 2框架 27
2.2.2 基于Struts 2框架实现登录案例 29
2.2.3 程序执行流程 31
2.3 在Eclipse中开发Struts 2 32
2.3.1 为项目添加Struts 2支持 32
2.3.2 添加控制器Action 33
2.3.3 添加并配置struts.xml 35
2.3.4 增加视图资源并部署Web应用 35
2.4 改进控制器 36
2.4.1 实现Action接口 36
2.4.2 配置Action 37
2.5 完成输入校验 38
2.5.1 使用Struts 2标签库简化表单 38
2.5.2 继承ActionSupport完成输入校验 39
2.6 程序国际化 41
2.6.1 输出中文的校验错误信息 42
2.6.2 国际化资源文件 42
2.6.3 加载资源文件 43
2.6.4 输出国际化信息 44
2.6.5 输出国际化的校验错误信息 45
2.7 小结 46
第二篇 Struts 2模块开发
第3章 类型转换 47
3.1 类型转换的介绍 47
3.1.1 类型转换的意义 47
3.1.2 简单的类型转换示例 48
3.2 Struts 2内建的类型转换器 51
3.2.1 内建转换器介绍 51
3.2.2 基本数据类型转换器 51
3.2.3 基本数据类型的封装类转换器 55
3.2.4 数组类型转换器 57
3.2.5 集合类型转换器 59
3.3 OGNL表达式语言 60
3.3.1 简单介绍OGNL以及如何下载OGNL源代码 60
3.3.2 在Eclipse中查看OGNL类文件 61
3.4 自定义类型转换器 62
3.4.1 项目需求 62
3.4.2 实现自定义类型转换器 64
3.4.3 注册自定义类型转换器 67
3.4.4 新建显示页测试程序 67
3.4.5 程序执行流程 68
3.4.6 使用Struts 2提供的StrutsTypeConverter 69
3.5 局部类型转换器和全局类型转换器 71
3.5.1 局部类型转换器 71
3.5.2 全局类型转换器 73
3.6 实现集合类型转换器 74
3.6.1 数组属性的类型转换器 74
3.6.2 集合属性的类型转换器 76
3.7 类型转换中错误处理 78
3.7.1 定义全局类型转换错误处理信息 78
3.7.2 定义局部类型转换错误处理信息 80
3.8 小结 80
第4章 Struts 2输入校验 81
4.1 输入校验的意义 81
4.1.1 什么是输入校验 81
4.1.2 为什么要进行输入校验 82
4.2 客户端校验 83
4.2.1 正则表达式 83
4.2.2 JavaScript中使用正则表达式 84
4.2.3 JavaScript完成客户端校验 85
4.3 服务器端校验 88
4.3.1 服务器端校验的重要性 88
4.3.2 完成服务器端输入校验 89
4.3.3 测试服务器端输入校验 93
4.3.4 使页面保留提交信息 93
4.3.5 使用addFieldError来添加错误信息 95
4.3.6 输入校验与类型转换关系 97
4.4 动态方法调用以及校验动态方法 98
4.4.1 动态方法调用 98
4.4.2 为action元素指定method属性 101
4.4.3 校验动态方法 102
4.4.4 Struts 2输入校验流程 103
4.5 小结 104
第5章 Struts 2校验框架 105
5.1 Struts 2校验框架初探 105
5.1.1 使用校验框架的好处 105
5.1.2 编写校验规则文件 108
5.2 校验器风格 110
5.2.1 字段校验器风格 110
5.2.2 非字段校验器风格 111
5.2.3 配置风格比较 112
5.3 内建校验器 112
5.3.1 Struts 2默认校验器 112
5.3.2 必填校验器 114
5.3.3 必填字符串校验器 115
5.3.4 整数校验器 117
5.3.5 双精度浮点数校验器 119
5.3.6 日期校验器 122
5.3.7 字段表达式校验器 123
5.3.8 邮箱地址校验器 124
5.3.9 网址校验器 126
5.3.10 转换校验器 127
5.3.11 字符串长度校验器 129
5.3.12 正则表达式校验器 131
5.4 使用校验框架完成输入校验 132
5.4.1 完成输入校验 133
5.4.2 增加客户端校验 138
5.4.3 国际化提示信息 139
5.4.4 客户端校验与国际化问题 141
5.4.5 校验短路 143
5.4.6 校验规则文件搜索规则 145
5.5 小结 146
第6章 Struts 2拦截器 147
6.1 学前必备知识 147
6.1.1 代理模式 147
6.1.2 动态代理模式 149
6.2 拦截器介绍以及实现原理 151
6.2.1 拦截器 151
6.2.2 拦截器实现原理 153
6.3 Struts 2自定义拦截器 155
6.3.1 定义拦截器类 156
6.3.2 另一种定义拦截器方式 157
6.3.3 配置拦截器 158
6.3.4 使用拦截器 161
6.3.5 默认拦截器 162
6.4 深入拦截器 163
6.4.1 传递参数 163
6.4.2 配置拦截器栈 165
6.4.3 覆盖拦截器栈中指定拦截器的参数 169
6.4.4 拦截器执行顺序 170
6.4.5 方法过滤 171
6.4.6 拦截结果监听器 174
6.5 Struts 2内建拦截器 175
6.5.1 内建拦截器 176
6.5.2 内建拦截器的配置 178
6.6 使用拦截器完成权限控制 180
6.6.1 完善登录案例 180
6.6.2 用户信息显示 181
6.6.3 实现权限控制 185
6.6.4 配置权限控制拦截器 186
6.7 小结 186
第三篇 Struts 2高级应用
第7章 文件上传和下载 187
7.1 使用上传框架实现文件上传 187
7.1.1 上传框架介绍 187
7.1.2 下载并安装Common-FileUpload框架 187
7.1.3 通过Common-FileUpload框架实现文件上传 189
7.1.4 测试文件上传 192
7.1.5 上传多个文件 193
7.1.6 测试上传多个文件 194
7.1.7 下载并安装COS框架 194
7.1.8 通过COS框架实现文件上传 195
7.1.9 测试使用COS框架实现文件上传 197
7.2 基于Struts 2完成文件上传 198
7.2.1 配置上传解析器 198
7.2.2 实现文件上传Action 199
7.2.3 配置文件上传Action 202
7.2.4 测试文件上传 202
7.3 文件上传高级配置 203
7.3.1 配置文件保存目录 203
7.3.2 实现文件过滤 204
7.3.3 输出错误提示 206
7.4 Struts 2实现上传多个文件 208
7.4.1 使用数组实现上传多个文件 208
7.4.2 测试使用数组实现上传多个文件 211
7.4.3 使用List实现上传多个文件 212
7.5 文件下载 214
7.5.1 使用Struts 2配置文件下载 214
7.5.2 实现文件下载Action 216
7.5.3 配置该文件下载Action 216
7.5.4 动态设置下载文件路径 218
7.5.5 使用拦截器增加下载权限控制 219
7.6 小结 220
第8章 Struts 2国际化 221
8.1 国际化实现原理 221
8.1.1 资源文件命名规则 221
8.1.2 Java支持的国家与地区名 221
8.1.3 Java支持的语言 222
8.1.4 完成Java程序国际化 224
8.1.5 使用占位符 226
8.2 JSP页面国际化 227
8.2.1 通过加载全局资源文件完成国际化 228
8.2.2 临时指定资源文件完成国际化 229
8.2.3 加载资源文件顺序 230
8.3 Action中访问国际化资源文件 230
8.3.1 全局资源文件 231
8.3.2 包范围资源文件 232
8.3.3 Action范围资源文件 233
8.3.4 加载资源文件顺序 234
8.4 实现用户自行选择语言环境 234
8.4.1 新建下拉列表 234
8.4.2 新建全局资源文件 235
8.4.3 新建及配置Action 236
8.4.4 测试用户自行选择的语言环境 237
8.4.5 在下拉列表中显示当前选择语言 238
8.4.6 使用Struts 2的i18n拦截器改写案例 239
8.5 小结 241
第9章 Struts 2标签库 242
9.1 初涉Struts 2标签库 242
9.1.1 使用标签的优势 242
9.1.2 使用标签库以及标签分类 244
9.2 逻辑控制标签 245
9.2.1 set标签和property标签 245
9.2.2 if/elseif/else标签 249
9.2.3 iterator标签 250
9.2.4 append标签 254
9.2.5 merge标签 257
9.2.6 generator标签 258
9.2.7 subset标签 260
9.2.8 sort标签 261
9.3 数据访问标签 263
9.3.1 action标签 263
9.3.2 bean标签 265
9.3.3 date标签 267
9.3.4 include标签 268
9.3.5 url标签 269
9.4 UI标签 271
9.4.1 Struts 2内建主题 271
9.4.2 radio标签 273
9.4.3 select标签 275
9.4.4 checkboxlist标签 277
9.4.5 combobox标签 279
9.4.6 datetimepicker标签 280
9.4.7 doubleselect标签 283
9.4.8 optiontransferselect标签 285
9.5 小结 287
第10章 Struts 2与Ajax 288
10.1 Ajax简介 288
10.1.1 什么是Ajax 288
10.1.2 传统Web应用 288
10.1.3 Ajax的优势 289
10.1.4 Ajax技术组成 290
10.2 传统Web应用与Ajax应用对比 290
10.2.1 传统Web应用实现用户登录 290
10.2.2 使用Ajax技术实现用户登录 293
10.3 Struts 2整合Ajax开发 296
10.3.1 基于DWR开发Ajax应用 296
10.3.2 在Struts 2中实现Ajax表单校验 299
10.4 Struts 2整合JSON开发 303
10.4.1 下载和安装JSON插件 303
10.4.2 JSP页面 303
10.4.3 实现业务逻辑Action 304
10.4.4 完成用户名是否占用检测 305
10.5 小结 307
第四篇 Struts 2整合应用
第11章 Struts 2整合JFreeChart开发 309
11.1 初涉JFreeChart 309
11.1.1 JFreeChart简介 309
11.1.2 下载和安装JFreeChart 310
11.1.3 使用JFreeChart生成饼图 311
11.2 JFreeChart进阶 312
11.2.1 显示图例 312
11.2.2 显示工具提示 312
11.2.3 显示3D的饼图 313
11.2.4 设置图表标题字体 314
11.2.5 设置图例字体 314
11.2.6 设置图表的标签字体以及透明度 314
11.3 JFreeChart生成柱状图 315
11.3.1 柱状图 315
11.3.2 复杂柱状图 317
11.3.3 设置图表中轴的显示标签字体 317
11.3.4 设置图表中显示标签的字体 318
11.3.5 设置横坐标显示标签倾斜 318
11.3.6 立体柱状图 319
11.4 JFreeChart的常用统计图表 320
11.4.1 折线图 320
11.4.2 立体折线图 321
11.4.3 面积图 322
11.4.4 层叠区域图 323
11.4.5 将图表输出到图片 323
11.5 在网页中生成和显示图表 325
11.5.1 生成统计图表 325
11.5.2 显示统计图表 326
11.6 Struts 2整合开发 327
11.6.1 安装JFreeChart插件 328
11.6.2 创建Action 328
11.6.3 配置Action 330
11.7 小结 330
第12章 Struts 2整合JasperReports开发 331
12.1 初涉JasperReports 331
12.1.1 JasperReports简介 331
12.1.2 下载并安装JasperReports和iReport 331
12.1.3 设计报表 332
12.1.4 显示报表 335
12.2 使用iReport设计报表 337
12.2.1 设置iReport语言环境 337
12.2.2 使用iReport设计报表 337
12.2.3 编译报表 338
12.2.4 预览报表 338
12.3 导出PDF文件报表 339
12.3.1 配置PDF文件阅读程序 339
12.3.2 解决中文无法显示问题 340
12.4 带查询报表 341
12.4.1 配置数据源 341
12.4.2 使用向导来创建带查询的报表 342
12.4.3 手动创建带查询的报表 344
12.5 带参数的报表 345
12.5.1 添加参数 345
12.5.2 布局报表 346
12.5.3 执行报表 346
12.6 整合Struts 2和JasperReports开发报表 347
12.6.1 安装JasperReports插件 347
12.6.2 创建生成报表的Action 347
12.6.3 设计报表设计文件 349
12.6.4 配置Action 349
12.6.5 生成JasperReports报表 350
12.7 小结 350
第13章 Struts 2整合Hibernate开发 351
13.1 初涉Hibernate 351
13.1.1 ORM简介 351
13.1.2 Hibernate框架的优势 351
13.1.3 下载和安装Hibernate 352
13.2 Hibernate开发入门 352
13.2.1 创建Hibernate配置文件 352
13.2.2 创建持久化类 353
13.2.3 创建对象关系映射文件 354
13.2.4 创建数据库表 355
13.2.5 插入数据 355
13.2.6 更新数据 356
13.2.7 删除数据 357
13.2.8 查询数据 359
13.2.9 使用Hibernate工具类 361
13.3 Struts 2整合Hibernate开发 362
13.3.1 整合策略 362
13.3.2 持久层设计 363
13.3.3 业务逻辑组件 366
13.3.4 查询所有产品 368
13.3.5 添加产品 369
13.3.6 删除产品 371
13.3.7 更新产品 372
13.4 小结 375
第14章 Struts 2整合Spring开发 376
14.1 初探Spring 376
14.1.1 Spring简介 376
14.1.2 下载和安装Spring 376
14.1.3 Spring的IoC应用 377
14.2 Spring的依赖注入 380
14.2.1 通过Set方法注入依赖 380
14.2.2 引用其他Bean 382
14.2.3 使用构造函数注入依赖 384
14.3 Spring的自动装配 385
14.3.1 自动装配分类 386
14.3.2 byName自动装配 386
14.3.3 byType自动装配 387
14.3.4 constructor自动装配 387
14.4 整合Struts 2和Spring框架 388
14.4.1 安装Spring插件完成整合 388
14.4.2 整合策略 389
14.5 整合Spring完成登录案例 389
14.5.1 修改控制器Action及配置 389
14.5.2 依赖注入业务逻辑组件 390
14.6 整合Spring完成产品管理案例 391
14.6.1 使用Spring容器管理SessionFactory 391
14.6.2 使用HibernateTemplate进行数据库操作 392
14.6.3 依赖注入DAO组件 393
14.6.4 依赖注入业务逻辑组件 394
14.6.5 完成Action配置 398
14.7 小结 398
第五篇 Struts 2案例开发
第15章 整合开发注册登录系统 399
15.1 系统分析 399
15.1.1 应用背景以及系统功能介绍 399
15.1.2 系统结构 399
15.1.3 系统功能模块 399
15.2 Hibernate持久层设计 400
15.2.1 创建持久化PO类 400
15.2.2 创建映射文件 401
15.3 DAO层设计 401
15.3.1 Spring管理SessionFactory 401
15.3.2 创建DAO接口 402
15.3.3 创建DAO实现类 403
15.3.4 配置DAO组件 403
15.4 业务逻辑层设计 404
15.4.1 创建业务逻辑组件接口 404
15.4.2 创建业务逻辑组件实现类 404
15.4.3 配置业务逻辑组件 405
15.5 完成用户注册模块 405
15.5.1 整合Struts 2和Spring 405
15.5.2 创建用户注册页 406
15.5.3 创建用户注册控制器 406
15.5.4 配置用户注册控制器 408
15.5.5 创建校验规则文件 409
15.5.6 创建图形验证码生成类 410
15.5.7 生成图形验证码 412
15.5.8 使用Ajax验证用户名是否被占用 415
15.5.9 测试注册新用户 417
15.6 完成用户登录模块 418
15.6.1 创建用户登录页 418
15.6.2 创建用户登录控制器 419
15.6.3 配置用户登录控制器 420
15.6.4 创建校验规则文件 420
15.6.5 测试用户登录 421
15.7 小结 422
第16章 整合开发用户管理系统 423
16.1 系统分析 423
16.1.1 应用背景以及系统功能介绍 423
16.1.2 系统结构 423
16.1.3 系统功能模块 423
16.2 Hibernate持久层设计 424
16.2.1 创建持久化PO类 424
16.2.2 创建映射文件 425
16.3 DAO层设计 425
16.3.1 Spring管理SessionFactory 425
16.3.2 创建DAO接口 426
16.3.3 创建DAO实现类 427
16.3.4 配置DAO组件 427
16.4 业务逻辑层设计 428
16.4.1 创建业务逻辑组件接口 428
16.4.2 创建业务逻辑组件实现类 428
16.4.3 配置业务逻辑组件 430
16.5 完成查看所有用户信息模块 430
16.5.1 整合Struts 2和Spring 430
16.5.2 创建查看全部用户信息控制器 430
16.5.3 创建全部用户信息显示页 431
16.5.4 配置查看全部用户信息控制器 432
16.5.5 测试查看所有用户信息 432
16.6 完成查看用户详细信息模块 433
16.6.1 创建查看用户详细信息控制器 433
16.6.2 创建查看用户详细信息显示页 433
16.6.3 配置用户详细信息控制器 434
16.6.4 测试查看用户详细信息 435
16.7 完成添加用户模块 435
16.7.1 创建用户添加页 435
16.7.2 创建用户添加控制器 436
16.7.3 配置用户添加控制器 437
16.7.4 创建校验规则文件 437
16.7.5 测试添加用户 439
16.8 完成删除用户模块 439
16.8.1 创建用户删除控制器 439
16.8.2 配置用户删除控制器 440
16.8.3 测试删除用户 440
16.9 完成更新用户模块 441
16.9.1 创建用户更新页 441
16.9.2 创建用户更新控制器 441
16.9.3 配置用户更新控制器 443
16.9.4 创建校验规则文件 444
16.9.5 测试更新用户 445
16.10 小结 445

教学资源推荐
作者: 郑阿奇 梁敬东
作者: 苏小红 孙承杰 李东 等编著
作者: 刘恒洋 杨宏雨 主编
作者: 刘艺
参考读物推荐
作者: [印度]纳拉西姆哈·卡鲁曼希(Narasimha Karumanchi) 斯克林瓦萨·拉奥·梅达(Sreenivasa Rao Meda) 著
作者: 陆嘉恒 著
作者: 郝亦非 编著