
版权信息书 名: 精通Struts2:基于MVC的JavaWeb应用开发实战
作者:陈云芳
出版社:人民邮电出版社
出版时间: 2008
ISBN: 9787115178770
开本: 16
定价: 65.00 元
内容简介本书由浅入深、循序渐进地介绍了使用Struts2框架进行Web应用开发的基本原理和方法。全书共分为4篇,第一篇Struts2快速入门,主要介绍了基本的Web开发技术,Struts2的基础知识,并通过简单应用实例,讲解了Struts2的框架结构。第二篇Struts2框架核心,包括Action、Interceptor、Result、多视图和数据持久化支持等方面的知识。第三篇Struts2高级特性,介绍了数据验证、类型转换和国际化等方面的内容。第四篇Struts2综合项目实践,介绍了3个综合实例(网络商店系统、网络文件管理系统、网络购书系统)的开发过程,每个实例均按照需求分析、项目设计、代码开发、程序测试及项目部署等实际开发流程编写,力求使读者在学习理论的同时,能够进一步通过现有的程序实例加深理解,提升实战能力。随书附赠光盘上有本书全部已经调试通过的程序源代码。本书重点突出,理论与实践并重,适合于具有一定Java基础,进行Web应用开发的程序员阅读,也可作为相关培训机构的教材,以及高等院校相关专业师生的参考用书。
目录第1篇Struts2快速入门
第1章Web应用开发概览
1.1Web应用与Web开发框架
1.1.1Web应用开发历程
1.1.2为什么需要Web框架
1.2MVC模式和Struts
1.2.1什么是MVC模式
1.2.2MVC模式的Web框架映射
1.2.3Struts2对MVC模式的改进
1.3Struts2框架概览
1.3.1Struts2框架的演变
1.3.2Struts2的特性
1.3.3与其他Web框架的比较
1.4小结
第2章第一个Struts2应用
2.1Struts2开发环境配置
2.1.1JDK1.5.10和Tomcat的安装与配置
2.1.2MyEclipse的安装和配置
2.1.3Struts2的安装
2.2创建配置文件
2.2.1配置web.xml文件
2.2.2配置Struts2的xml文件
2.2.3配置Struts2的properties文件
2.3第一个Action
2.3.1创建helloworld.action
2.3.2在struts.xml中配置Action
2.3.3创建视图hello.jsp
2.3.4测试Action
2.4体验Struts2更高级功能
2.4.1处理输入
2.4.2执行结果
2.4.3拦截器
2.5小结
第2篇Struts2框架核心
第3章Action
3.1Action简介
3.1.1返回类型
3.1.2execute()方法
3.2Action接口
3.3ActionSupport基类
3.4Action实例
3.4.1实现Action接口的实例
3.4.2实现ActionSupport基类的实例
3.5在Action中实现基本校验
3.5.1使用Action的execute()方法
3.5.2使用ActionSupport的validate()方法
3.5.3使用注释实现校验
3.6ActionContext
3.7小结
第4章Interceptor
4.1Interceotor基础
4.1.1理解Interceptor
4.1.2Interceptor何时调用
4.1.3Interceptor接口
4.1.4Interceptor相关类
4.2使用预定义的Interceptor
4.2.1预定义Interceptor类
4.2.2LoggingInterceptor示例
4.3使用自定义的Interceptor
4.3.1自定义Interceptor的配置
4.3.2实现自己的Interceptor
4.4Interceptor应用实例
4.4.1execAndWait拦截器源码分析
4.4.2项目概述
4.4.3Action实现文件
4.4.4页面文件
4.4.5配置文件
4.4.6运行
4.5小结
第5章Result
5.1自定义Result
5.1.1实现自定义Result
5.1.2配置自己的Result
5.1.3运行测试Result
5.2常用的Result
5.2.1Dispatcher
5.2.2Redirect
5.2.3Chain
5.3其他的Result
5.4小结
第6章标签
6.1标签介绍
6.2自定义标签
6.2.1标签的实现
6.2.2标签的配置
6.2.3运行
6.3Struts2标签概览
6.3.1标签简介
6.3.2使用标签的准备
6.4非UI标签
6.4.1数据标签
6.4.2控制标签
6.4.3其他标签
6.5UI标签
6.5.1通用属性
6.5.2简单UI标签
6.5.3高级UI标签
6.6小结
第7章表达式语言OGNL
7.1OGNL的基本特性
7.1.1常量的声明
7.1.2方法调用
7.1.3变量引用
7.2操作集合
7.2.1操作列表Lists
7.2.2操作映射Maps
7.2.3操作数组Array
7.2.4集合操作
7.3OGNL的高级特性
7.3.1类型转换
7.3.2与值栈的联系
7.3.3lamuda表达式
7.3.4Java和OGNL的比较
7.4在JSP中使用OGNL
7.4.1项目概述
7.4.2工程代码编写
7.4.3运行
7.5小结
第8章多视图
8.1Velocity
8.1.1Velocity简介
8.1.2语法
8.1.3Velocity实例分析
8.2FreeMarker
8.2.1FreeMarker简介
8.2.2语法
8.2.3FreeMarker实例分析
8.2.4FreeMarker和Velocity的比较
8.3JasperReports
8.3.1JasperReports介绍
8.3.2JasperReports实例分析
8.4小结
第9章数据持久化——使用Hibernate
9.1数据持久化与Hibernate基础
9.1.1数据持久化基础
9.1.2Hibernate基础
9.2Hibernate简单应用
9.3Hibernate核心
9.3.1Hibernate的核心接口
9.3.2Hibernate的配置文件
9.3.3Hibernate的对象关系映射
9.3.4Hibernate的检索方式
9.4Hibernate实例
9.5小结
第3篇Struts2高级特性
第10章校验框架
10.1使用Struts2自带的校验器
10.1.1配置拦截器
10.1.2配置校验器
10.1.3自带校验器实例
10.2使用自定义校验器
10.2.1创建自定义校验器
10.2.2自定义校验器的注册
10.2.3自定义校验器实例
10.3小结
第11章类型转换
11.1为什么需要类型转换
11.1.1没有类型转换的实例
11.1.2类型转换带来的好处
11.2Struts2自带的转换器
11.2.1自带转换器的数据类型
11.2.2转换器的源码分析
11.3自定义转换器
11.3.1编写转换器类
11.3.2配置
11.4高级类型转换
11.4.1空值属性处理
11.4.2类型转换错误处理
11.5小结
第12章国际化
12.1国际化基础
12.2Struts2与国际化
12.2.1Struts2对国际化的支持
12.2.2资源包相关
12.2.3国际化信息的获取
12.3Struts2国际化实现
12.3.1初始页面的国际化
12.3.2Action的国际化
12.3.3校验的国际化
12.4国际化实例
12.4.1项目配置与开发
12.4.2结果测试
12.5小结
第13章Struts2调试
13.1MyEclipse中的Java程序调试
13.1.1调试配置
13.1.2调试视图
13.1.3控制程序执行
13.2调试Struts2程序
13.2.1调试入门
13.2.2连接Struts2的源代码
13.3Struts2调试应用
13.3.1实例的概述
13.3.2实例工程的源文件
13.3.3调试工程
13.4小结
第14章Struts2原理探究
14.1控制反转(IOC)
14.1.1什么是控制反转
14.1.2控制反转的设计方式
14.1.3Struts2中的控制反转
14.2源码探究
14.2.1Struts2启动
14.2.2Action处理过程
14.2.3Interceptor工作机制
14.2.4ActionContext
14.3小结
第15章Struts2与其他网络框架整合
15.1与SiteMesh整合
15.1.1SiteMesh简介
15.1.2SiteMesh的安装
15.1.3SiteMesh应用实例
15.2Quartz作业调度
15.2.1Quartz简介
15.2.2作业调度简介
15.2.3Quartz应用实例
15.3Acegi-Security用户管理
15.3.1Acegi-Security简介
15.3.2Acegi认证过程
15.3.3保护Web应用程序
15.4小结
第16章Ajax与Struts
16.1Ajax入门
16.1.1Ajax发展过程
16.1.2Ajax魅力所在
16.2Ajax核心
16.2.1使用XMLHttpRequest对象
16.2.2发送请求与处理响应
16.2.3实现基本的Ajax技术
16.3Struts2与Ajax框架的整合
16.3.1Dojo框架
16.3.2DWR框架
16.3.3使用JSON插件
16.4Struts2的Ajax标签
16.5小结
第17章Struts2测试
17.1软件测试与JUnit基础
17.1.1软件测试基础
17.1.2JUnit基础
17.2JUnit的使用
17.2.1JUnit的安装
17.2.2创建测试类
17.2.3创建被测试类
17.2.4运行测试
17.3在Eclipse中使用JUnit测试Action
17.3.1创建Struts2项目
17.3.2创建测试类
17.3.3运行测试
17.4JUnit高级
17.4.1类级别的fixture
17.4.2限时测试
17.4.3异常测试
17.4.4忽略测试
17.4.5测试运行器
17.4.6测试套件
17.4.7参数化测试
17.5小结
第18章Spring整合
18.1Spring初步
18.1.1Spring概述
18.1.2Spring准备
18.1.3入门实例
18.2Spring基础特性
18.2.1依赖注入
18.2.2Spring封装机制
18.3Spring高级特性
18.3.1SpringMVC
18.3.2数据持久层
18.4小结
第4篇Struts2综合项目实战
第19章网络商店实例编程(Struts2+Hibernate+Velocity)
19.1项目概述
19.1.1网络商店概况
19.1.2网络商店的需求分析
19.1.3网络商店的业务建模
19.1.4迭代式开发介绍
19.1.5项目功能模块分割
19.2迭代一游客浏览商品
19.2.1本阶段迭代的目标
19.2.2本阶段页面概述
19.2.3商品的数据模型和数据库设计
19.2.4实现步骤
19.3迭代二用户管理
19.3.1本阶段迭代的目标
19.3.2本阶段页面概述
19.3.3用户数据模型和数据库设计
19.3.4实现步骤
19.4迭代三购物车管理
19.4.1本阶段的迭代目标
19.4.2本阶段页面概述
19.4.3购物车的功能需求和设计实现
19.4.4实现步骤
19.5迭代四后台管理员功能
19.5.1本阶段的迭代目标
19.5.2本阶段页面概述
19.5.3实现步骤
19.6小结
第20章网络文件管理系统(Struts2+Hibernate+FreeMarker)
20.1项目概述
20.1.1网络文件管理系统概况
20.1.2网络文件管理系统需求分析
20.1.3网络文件管理系统业务建模
20.1.4项目功能模块分割
20.2迭代一实现上传、下载、删除文件
20.2.1本阶段迭代的目标
20.2.2本阶段页面概述
20.2.3文件的数据模型
20.2.4实现步骤
20.3迭代二添加用户管理
20.3.1本阶段迭代的目标
20.3.2本阶段页面概述
20.3.3用户以及用户空间的数据模型
20.3.4实现步骤
20.4迭代三添加消息处理,备忘录管理
20.4.1本阶段迭代的目标
20.4.2本阶段页面概述
20.4.3消息和备忘录的数据模型
20.4.4实现步骤
20.5迭代四添加管理员功能
20.5.1本阶段迭代的目标
20.5.2本阶段页面概述
20.5.3管理员的数据模型
20.5.4实现步骤
20.6小结
第21章基于Struts2和Ajax的网上购书系统(Struts2+Hibernate+Ajax+FreeMarker)
21.1项目概述
21.1.1购书系统概况
21.1.2购书系统需求分析
21.1.3购书系统业务建模
21.1.4项目功能模块分割
21.2迭代一用户登录,书籍浏览
21.2.1本阶段迭代目标
21.2.2本阶段页面概述
21.2.3本阶段数据模型
21.2.4实现步骤
21.3迭代二用户购书
21.3.1本阶段迭代目标
21.3.2本阶段页面概述
21.3.3实现步骤
21.4迭代三管理员登录,用户信息查看
21.4.1本阶段迭代目标
21.4.2本阶段页面概述
21.4.3本阶段数据模型
21.4.4实现步骤
21.5迭代四管理员添加书籍以及添加用户
21.5.1本阶段迭代目标
21.5.2本阶段页面概述
21.5.3实现步骤
21.6小结
……