目录
第1部分入门
第1章框架入门
本章术语
1.1框架技术简介
1.1.1为什么使用框架技术
1.1.2什么是框架技术
1.1.3框架技术的特点
1.2简单的自定义MVC框架实现
1.2.1使用JSP+JavaBean+Servlet技术
1.2.2使用自定义MVC框架
1.3Struts框架技术
1.3.1Struts1框架
1.3.2Struts2框架
1.4Hibernate框架技术
1.5Spring框架技术
1.6基本开发环境
1.6.1JDK
1.6.2Tomcat服务器
1.6.3Eclipse及MyEclipse
本章知识体系
第2部分Struts1框架
第2章Struts1框架技术基础
本章术语
2.1Struts1框架技术简介
2.1.1为什么使用Struts1框架
2.1.2什么是Struts1框架
2.2如何使用Struts1框架
2.2.1在MyEclipse中加入Struts1框架的支持
2.2.2Struts1的下载和安装
2.2.3增加对新版本Struts1框架的支持
2.3Struts1框架开发初体验
2.3.1编写JSP页面
2.3.2编写ActionForm
2.3.3编写Action
2.3.4配置struts-config.xml文件
2.3.5运行测试
2.3.6开发流程总结
2.4Struts1的工作流程
2.4.1Struts1的工作流程
2.4.2登录程序流程
2.5Struts1框架配置文件
2.5.1为什么使用Struts1框架配置文件
2.5.2什么是Struts1框架配置文件
2.5.3如何使用Struts1框架配置文件
2.6Struts1框架配置文件中的元素
本章知识体系
第3章Struts1框架的标签库
本章术语
3.1Struts1标签库简介
3.1.1为什么使用标签库
3.1.2什么是标签库
3.1.3如何使用标签库
3.2html标签库
3.2.1基本html标签
3.2.2生成FORM表单和表单域的标签
3.2.3显示错误消息和正常信息的标签
3.3logic标签库
3.3.1用于比较运算的标签
3.3.2用于字符串匹配的标签
3.3.3用于判断内容是否存在的标签
3.3.4用于循环遍历的标签
3.3.5请求转发或重定向标签
3.4bean标签库
3.4.1<bean:define>标签
3.4.2<bean:write>标签
3.4.3<bean:parameter>标签
3.4.4<bean:message>标签
3.4.5<bean:page>标签
本章知识体系
第4章国际化和异常处理
本章术语
4.1Struts1框架资源文件的国际化
4.1.1为什么进行国际化
4.1.2什么是国际化
4.1.3如何对基于Struts1框架的Web应用国际化
4.2Struts1框架的资源文件
4.2.1为什么使用资源文件
4.2.2什么是资源文件
4.2.3如何使用资源文件
4.2.4在资源文件中使用中文
4.3Struts1框架的异常处理
4.3.1为什么使用异常处理
4.3.2什么是错误处理
4.3.3如何使用错误处理
4.3.4使用Struts1框架中的<exception>元素进行异常处理
4.3.5使用ActionMessages对象进行异常处理
本章知识体系
第5章ActionForm Bean入门及高级应用
本章术语
5.1ActionForm Bean的基本应用
5.1.1为什么使用ActionForm
5.1.2什么是ActionForm
5.1.3如何使用ActionForm
5.1.4ActionForm的生命周期
5.2动态ActionForm应用
5.2.1为什么使用动态ActionForm
5.2.2什么是动态ActionForm
5.2.3如何使用动态ActionForm
5.2.4使用MyEclipse集成功能创建动态ActionForm应用
5.2.5动态ActionForm的进一步应用
5.3跨页表单提交
5.3.1为什么使用跨页表单提交
5.3.2如何实现跨页表单提交
5.3.3实现跨页表单提交的示例
本章知识体系
第6章业务组件ActionServlet和Action
本章术语
6.1核心控制器ActionServlet
6.1.1ActionServlet简介
6.1.2init()方法
6.1.3扩展ActionServlet类
6.2RequestProcessor类
6.2.1RequestProcessor简介
6.2.2process()方法
6.2.3扩展RequestProcessor类
6.3Action类
6.3.1Action简介
6.3.2Action类的execute()方法
6.3.3创建自己的Action
6.4Struts1框架内置的常用Action类
6.4.1DispatchAction
6.4.2LookupDispatchAction
6.4.3MappingDispatchAction
6.4.4ForwardAction
6.4.5IncludeAction
6.4.6SwitchAction
本章知识体系
第7章文件的上传与下载
本章术语
7.1为什么使用Struts1框架的文件上传
7.2如何实现文件上传
7.2.1文件上传示例
7.2.2文件上传中存在的问题
7.3多文件上传的实现
7.3.1固定个数文件上传
7.3.2任意个数文件上传
7.4文件的下载
7.4.1DownLoadAction类
7.4.2文件下载的实现
7.4.3如何解决请求参数中的中文乱码问题
7.4.4统计文件下载次数
本章知识体系
第8章插件技术
本章术语
8.1Validator框架
8.1.1为什么使用Validator框架
8.1.2什么是Validator框架
8.1.3如何使用Validator框架
8.1.4Validator框架实例1
8.1.5Validator框架实例2
8.1.6Validator框架实例3
8.1.7Validator框架小结
8.2Tiles框架
8.2.1为什么使用Tiles框架
8.2.2什么是Tiles框架
8.2.3如何使用Tiles框架
8.2.4Tiles框架示例1
8.2.5Tiles框架示例2
8.2.6Tiles定义文件的高级应用
本章知识体系
第9章实战1: 基于Struts1的注册登录系统
本章术语
9.1系统概述
9.1.1系统功能简介
9.1.2系统总体设计
9.2实现JDBC持久层
编写持久化Users类
9.3实现DAO层
9.3.1编写封装数据库操作的辅助类
9.3.2定义DAO层接口
9.3.3编写DAO层实现类
9.4实现Service层(业务逻辑层)
9.4.1定义Service层接口
9.4.2编写Service层实现类
9.5编写JSP文件
9.5.1注册功能的JSP文件
9.5.2登录功能的JSP文件
9.5.3显示用户列表的JSP文件
9.6编写ActionForm Bean
9.7编写控制器Action
9.8编写配置文件
9.8.1编写Struts1核心配置文件
9.8.2编写Validator框架校验的配置文件
本章知识体系
第3部分Hibernate框架
第10章Hibernate框架技术入门
本章术语
10.1Hibernate框架技术简介
10.1.1为什么使用Hibernate框架技术
10.1.2什么是Hibernate框架技术
10.2如何使用Hibernate框架技术
10.2.1在MyEclipse加入对Hibernate框架的支持
10.2.2Hibernate包的下载与安装
10.2.3手动添加对Hibernate框架的支持
10.3使用Hibernate框架的开发体验
10.3.1在Web应用中使用Hibernate框架
10.3.2完成增、删、改操作
10.3.3使用Hibernate框架开发Web应用基本步骤
本章知识体系
第11章Hibernate基础
本章术语
11.1Hibernate映射文件
11.2Hibernate对象标识符
11.2.1为什么使用对象标识符
11.2.2什么是对象标识符
11.2.3如何使用Hibernate对象标识符
11.2.4Hibernate内置的对象标识符生成器
11.3Hibernate映射类型
11.3.1为什么使用Hibernate映射类型
11.3.2什么是Hibernate映射类型
11.3.3如何使用Hibernate映射类型
11.4配置文件解读
11.5Hibernate的Session接口
11.5.1使用Hibernate框架操作数据库的基本步骤
11.5.2HibernateSessionFactory.java类文件
11.6实现DAO层
11.6.1自动生成的DAO层API
11.6.2手动编写DAO层API
本章知识体系
第12章Hibernate框架中的关联映射
本章术语
12.1Hibernate框架的关联映射
12.1.1为什么使用关联映射
12.1.2什么是关联映射
12.2多对一关联和一对多关联
12.2.1单向多对一关联
12.2.2单向一对多关联
12.2.3双向的多对一关联
12.3多对多关联
12.3.1单向多对多关联
12.3.2双向多对多关联
12.4一对一关联
12.4.1基于外键的一对一关联
12.4.2基于主键的一对一关联
12.4.3基于关联表的一对一关联
本章知识体系
第13章Hibernate框架中的查询操作
本章术语
13.1HQL查询介绍
13.1.1为什么使用HQL查询
13.1.2什么是HQL
13.1.3如何使用HQL
13.2HQL语句的结构
13.2.1from子句
13.2.2select子句
13.2.3where子句
13.2.4参数绑定
13.3关联查询
13.4聚集函数
13.5子查询
13.6Criteria查询介绍
13.6.1为什么使用Criteria查询
13.6.2什么是Criteria查询
13.6.3如何使用Criteria查询
13.6.4Criteria查询示例
13.7数据过滤
13.7.1为什么使用数据过滤
13.7.2什么是数据过滤
13.7.3如何使用数据过滤
本章知识体系
第14章Hibernate框架与Struts1框架的整合
本章术语
14.1为什么整合Hibernate框架和Struts1框架
14.2如何整合Hibernate框架和Struts1框架
14.2.1添加Struts1框架的支持
14.2.2添加Hibernate框架的支持
14.2.3整合两个框架
本章知识体系
第15章实战2: 基于Struts1+Hibernate的注册登录系统
本章术语
15.1系统概述
15.1.1系统功能简介
15.1.2系统总体设计
15.2实现Hibernate持久层
15.2.1编写持久化Users类
15.2.2编写Users类的映射文件
15.3实现DAO层
15.3.1定义Hibernate配置文件
15.3.2定义DAO层接口
15.3.3编写DAO层实现类
15.4实现Service层(业务逻辑层)
15.4.1定义Service层接口
15.4.2编写Service层实现类
15.5定义设置请求和响应编码的Filter
15.5.1编写Filter
15.5.2配置Filter
15.6编写JSP文件
15.6.1注册功能的JSP文件
15.6.2登录功能的JSP文件
15.6.3用户列表功能的JSP文件
15.7编写ActionForm Bean
15.8编写控制器Action
15.9编写配置文件
15.9.1编写web.xml配置文件
15.9.2编写Struts1核心配置文件
15.9.3编写Validator框架校验的配置文件
本章知识体系
第4部分Spring框架
第16章Spring框架技术入门
本章术语
16.1Spring框架技术简介
16.1.1为什么使用Spring框架技术
16.1.2什么是Spring框架技术
16.2如何使用Spring框架技术
16.2.1在MyEclipse中加入对Spring框架的支持
16.2.2Spring的下载和安装
16.2.3手动添加对Spring框架的支持
16.3Spring框架的应用体验
16.3.1在Java应用程序中使用Spring框架
16.3.2在Web应用中使用Spring框架
本章知识体系
第17章Spring框架基础
本章术语
17.1控制反转和依赖注入
17.1.1为什么使用控制反转和依赖注入
17.1.2什么是控制反转和依赖注入
17.1.3如何使用依赖注入
17.2依赖注入的实现方式
17.2.1属性注入
17.2.2构造方法注入
17.2.3属性注入和构造方法注入的比较
17.2.4使用配置文件连接Oracle数据库
17.3Spring框架配置文件
17.3.1<beans>元素
17.3.2<bean>元素
17.3.3<constructor-arg>元素
17.3.4<property>元素
17.3.4<ref>元素
17.3.5集合元素
17.4Spring容器
17.4.1BeanFactory接口
17.4.2ApplicationContext接口
本章知识体系
第18章面向切面编程
本章术语
18.1面向切面编程介绍
18.1.1为什么使用AOP
18.1.2什么是AOP
18.1.3如何使用AOP
18.2面向切面编程的基本概念
18.2.1Advice
18.2.2Pointcut和Advisor
18.3使用ProxyFactoryBean创建AOP代理
18.4使用自动代理
18.4.1BeanNameAutoProxyCreator
18.4.2DefaultAdvisorAutoProxyCreator
18.5基于@AspectJ风格的Spring AOP
18.5.1配置对@AspectJ的支持
18.5.2切面声明
18.5.3切入点声明
18.5.4Advice声明
18.5.5基于@AspectJ风格的Spring AOP的示例
本章知识体系
第19章Spring事务管理
本章术语
19.1Spring事务管理实现机制
19.1.1TransactionDefinition
19.1.2PlatformTransactionManager
19.1.3TransactionStatus
19.2编程式事务管理
19.2.1Spring的编程式事务管理概述
19.2.2基于底层API的编程式事务管理
19.2.3基于TransactionTemplate的编程式事务管理
19.3声明式事务管理
19.3.1Spring的声明式事务管理概述
19.3.2基于TransactionProxyFactoryBean的声明式事务管理
19.3.3基于<tx>命名空间的声明式事务管理
19.3.4基于@Transactionl的声明式事务管理
本章知识体系
第20章Spring与Struts1、Hibernate的整合
本章术语
20.1Spring和Struts1的整合
20.1.1为什么要整合Spring和Struts1两个框架
20.1.2如何整合Spring和Struts1两个框架
20.1.3Spring和Struts1整合实例
20.2Spring和Hibernate框架的整合
20.2.1为什么整合Spring和Hibernate两个框架
20.2.2如何整合Spring和Hibernate两个框架
20.2.3Spring和Hibernate整合示例
20.3Spring、Struts1和Hibernate的整合
20.3.1为什么整合三个框架
20.3.2如何整合三个框架
20.3.3三个框架整合示例
本章知识体系
第21章实战3:基于S1SH的注册登录系统
本章术语
21.1系统概述
21.1.1系统功能简介
21.1.2系统总体设计
21.2实现Hibernate持久层
21.2.1编写持久化Users类
21.2.2编写Users类的映射文件
21.3实现DAO层
21.3.1管理SessionFactory
21.3.2定义DAO层接口
21.3.3编写DAO层实现类
21.3.4配置Spring管理DAO的配置文件
21.4实现Service层
21.4.1定义Service层接口
21.4.2编写Service层实现类
21.4.3配置Spring管理Service的配置文件
21.4.4配置Spring管理数据库事务的配置文件
21.5定义设置请求和响应编码的Filter
配置Filter
21.6编写JSP文件
21.6.1注册功能的JSP文件
21.6.2登录功能的JSP文件
21.6.3用户列表功能的JSP文件
21.7编写ActionForm Bean
21.8编写控制器Action
21.8.1编写Action实现类
21.8.2配置Spring管理Struts1 Action的配置文件
21.9编写配置文件
21.9.1编写web.xml配置文件
21.9.2编写Struts1核心配置文件
21.9.3编写Validator框架校验的配置文件
本章知识体系
第5部分Struts2框架
第22章Struts2框架技术入门
本章术语
22.1Struts2框架技术简介
22.1.1为什么使用Struts2框架
22.1.2什么是Struts2框架
22.2如何使用Struts2框架
22.2.1Struts2的下载与安装
22.2.2搭建基于Struts2框架的开发环境
22.3基于Struts2框架的开发体验
22.3.1创建视图资源
22.3.2创建业务控制器Action类
22.3.3创建Struts2的配置文件struts.xml
22.3.4编辑web.xml文件
22.3.5运行测试
22.3.6开发流程总结
本章知识体系
第23章Struts2框架基础
本章术语
23.1Struts2框架体系结构及工作原理
23.1.1Struts2的体系结构
23.1.2Struts2的核心控制器
23.1.3Struts2的工作原理
23.2配置Struts2的核心控制器Filter
23.3配置Struts2框架的属性
23.4Struts2框架的struts.xml配置文件
23.4.1struts.xml文件的基本结构
23.4.2package元素的结构
23.4.3include元素的结构
23.4.4bean元素的结构
23.4.5constant元素的结构
23.5struts-default.xml
23.6struts-plugin.xml
本章知识体系
第24章Struts2框架提高
本章术语
24.1struts.xml配置详解
24.1.1配置包
24.1.2Action的配置
24.1.3配置命名空间
24.1.4配置Result
24.1.5配置bean
24.1.6配置常量
24.1.7配置拦截器
24.1.8配置异常
24.2Struts2框架的Action
24.2.1Struts2框架的Action基类
24.2.2Action类中访问Servlet API
24.3Struts2框架的处理结果
24.3.1Struts2框架支持的视图资源类型
24.3.2dispatcher
24.3.3redirect
24.3.4redirect-action
24.3.5freemarker
24.3.6自定义结果类型
本章知识体系
第25章OGNL、国际化及类型转换
本章术语
25.1OGNL简介
25.1.1为什么使用OGNL
25.1.2什么是 OGNL
25.1.3如何使用OGNL
25.1.4值栈(ValueStack)
25.1.5OGNL表达式
25.1.6OGNL的集合操作
25.1.7lambda表达式
25.2Struts2框架的国际化
25.2.1创建资源文件
25.2.2在资源文件中使用参数
25.2.3在Action中访问国际化资源消息
25.2.4资源文件的类型
25.2.5资源文件的加载顺序
25.3Struts2框架的类型转换
25.3.1为什么使用Struts2框架的类型转换
25.3.2如何使用Struts2框架的类型转换功能
25.3.3Struts2框架的内置类型转换器
25.3.4使用OGNL表达式实现数据类型自动转换
25.3.5Struts2框架对集合类型转换的支持
25.3.6Struts2框架对Map类型转换的支持
25.3.7自定义类型转换器
本章知识体系
第26章Struts2框架的普通标签
本章术语
26.1Struts2标签库简介
26.1.1为什么使用Struts2标签库
26.1.2什么是Struts2标签库
26.1.3如何使用Struts2标签库
26.2数据标签
26.2.1a标签
26.2.2action标签
26.2.3url标签
26.2.4include标签
26.2.5param标签
26.2.6bean标签
26.2.7i18n标签
26.2.8date标签
26.2.9property标签
26.2.10text标签
26.2.11set标签
26.2.12push标签
26.2.13debug标签
26.3控制标签
26.3.1if、elseif和else标签
26.3.2iterator标签
26.3.3generator标签
26.3.4append标签
26.3.5merge标签
26.3.6subset标签
26.3.7sort标签
本章知识体系
第27章Struts2框架的UI标签
本章术语
27.1模板和主题
27.1.1为什么使用模板和主题
27.1.2什么是模板和主题
27.1.3如何使用模板和主题
27.2表单标签的公共属性
27.2.1和模板相关的属性
27.2.2通用属性
27.2.3和JavaScript相关的事件属性
27.2.4和tooltip相关的属性
27.3表单标签
27.3.1form、submit、reset和token标签
27.3.2文本输入标签
27.3.3选项框输入标签
27.3.4转移标签
27.3.5head和label标签
27.4非表单标签
27.4.1输出消息标签
27.4.2component标签
27.4.3div标签
本章知识体系
第28章Struts2框架的拦截器
本章术语
28.1拦截器简介
28.1.1为什么使用拦截器
28.1.2什么是拦截器
28.1.3如何使用拦截器
28.2拦截器的工作原理
28.3Struts2框架的内置拦截器
28.3.1内置拦截器
28.3.2内置拦截器栈
28.3.3内置拦截器的配置
28.4自定义拦截器
28.4.1自定义拦截器类的创建
28.4.2自定义拦截器示例
本章知识体系
第29章Struts2框架的输入校验
本章术语
29.1Struts2框架输入校验简介
29.1.1为什么使用Struts2框架的输入校验
29.1.2什么是Struts2框架的输入校验
29.2编码实现输入校验
29.2.1使用validate()方法进行输入校验
29.2.2使用validateXxx()方法进行输入校验
29.2.3输入校验提示信息的国际化
29.3配置验证文件实现输入校验
29.3.1校验规则文件的结构
29.3.2定义验证规则
29.3.3基于Struts2框架的客户端校验
29.3.4校验规则文件的搜索顺序
29.4Struts2框架的内置校验器
29.4.1类型转换校验器
29.4.2必填校验器
29.4.3必填字符串校验器
29.4.4字符串长度校验器
29.4.5表达式校验器
29.4.6正则表达式校验器
29.4.7电子邮件地址校验器
29.4.8网址校验器
29.4.9字段表达式校验器
29.4.10日期校验器
29.4.11整数校验器
29.4.12双精度浮点数校验器
29.4.13visitor校验器
29.5自定义校验器的开发
29.5.1创建校验器类
29.5.2注册自定义校验器
29.5.3自定义校验器的应用示例
本章知识体系
第30章Struts2框架的文件上传和下载
本章术语
30.1Struts2框架的文件上传
30.1.1为什么使用Struts2框架上传文件
30.1.2文件上传组件
30.1.3如何使用Struts2框架上传文件
30.2完善文件上传的功能
30.2.1设置文件上传到服务器端的路径
30.2.2设置上传文件的大小及类型
30.2.3在配置文件中设置上传文件的属性
30.2.4上传大文件时显示等待页面
30.2.5国际化错误信息
30.3多文件上传
30.3.1使用数组实现多文件上传
30.3.2使用List实现多文件上传
30.4基于Struts2框架的文件下载
30.4.1基于Struts2框架实现文件下载简介
30.4.2基于Struts2框架实现文件下载
30.4.3任意内容类型的文件下载
30.4.4控制文件的下载
30.4.5统计文件的下载次数
本章知识体系
第31章Struts2框架对Ajax的支持
本章术语
31.1Ajax简介
31.1.1为什么使用Ajax
31.1.2什么是Ajax
31.1.3如何在Struts2框架中使用Ajax
31.2Struts2框架的Ajax标签
31.2.1head标签
31.2.2a标签
31.2.3autocompleter标签
31.2.4bind标签
31.2.5datetimepicker标签
31.2.6div标签
31.2.7tabbedPanel标签
31.2.8textarea标签
31.2.9tree标签
31.2.10treenode标签
31.2.11submit标签
31.3Struts2框架对Ajax校验的支持
本章知识体系
第32章实战4: 基于S2SH的注册登录系统
本章术语
32.1系统概述
32.1.1系统功能简介
32.1.2系统总体设计
32.2实现Hibernate持久层
32.2.1编写持久化Users类
32.2.2编写Users类的映射文件
32.3实现DAO层
32.3.1管理SessionFactory
32.3.2定义DAO层接口
32.3.3编写DAO层实现类
32.3.4配置Spring管理DAO的配置文件
32.4实现Service层
32.4.1定义Service层接口
32.4.2编写Service层实现类
32.4.3配置Spring管理Service的配置文件
32.4.4配置Spring管理数据库事务的配置文件
32.5编写JSP文件
32.5.1注册功能的JSP文件
32.5.2登录功能的JSP文件
32.5.3用户列表功能的JSP文件
32.6编写控制器Action
32.6.1编写Action类
32.6.2配置Spring管理Struts2 Action的配置文件
32.7编写配置文件
32.7.1编写web.xml配置文件
32.7.2编写Struts2核心配置文件
32.7.3编写Struts2框架的输入校验的配置文件
本章知识体系
第6部分综 合 实 例
第33章综合实例: 在线相册管理系统
本章术语
33.1系统概述
33.1.1系统功能简介
33.1.2系统总体设计
33.2实现Hibernate持久层
33.2.1编写持久化类
33.2.2编写PO类的映射文件
33.3实现DAO层
33.3.1管理SessionFactory
33.3.2定义DAO层接口
33.3.3编写DAO层实现类
33.3.4配置Spring管理DAO的配置文件
33.4实现Service层
33.4.1定义分页信息帮助类
33.4.2定义Service层接口
33.4.3编写Service层实现类
33.4.4配置Spring管理Service的配置文件
33.4.5配置Spring管理数据库事务的配置文件
33.5分页的自定义标签
33.5.1编写自定义标签的实现类
33.5.2编写自定义标签的描述符
33.6编写JSP文件
33.6.1用户管理功能的JSP文件
33.6.2相册管理功能的JSP文件
33.7编写控制器Action
33.7.1编写用户管理的Action实现类
33.7.2编写相册管理的Action实现类
33.7.3编写Spring管理Struts2 Action的配置文件
33.8编写配置文件
33.8.1编写web.xml配置文件
33.8.2编写Struts2核心配置文件
33.8.3编写Struts2框架的输入校验的配置文件
33.9测试
本章知识体系
参考文献
