内容简介
第1篇Struts 2
第1章Struts 2入门
1.1 Struts 2发展历程
1.1.1 MVC设计模式
1.1.2 Struts 1简介
1.1.3 WebWork概述
1.1.4 Struts 2简介
1.2配置Struts 2运行环境
1.3 Struts 2第一个应用示例
1.4 Struts 2处理流程
1.5 Struts 2配置详解
1.5.1 web.xml配置
1.5.2 struts.properties配置
1.6 struts.xml配置详解
1.6.1文件结构
1.6.2 Bean配置
1.6.3常量配置
1.6.4包配置
1.6.5命名空间配置
1.6.6包含配置
第2章Action配置
2.1实现Action控制类
2.2 Struts 2访问Servlet API
2.2.1间接访问Servlet API
2.2.2直接访问Servlet API
2.3配置Action
2.3.1 Action配置
2.3.2动态访问调用
2.3.3使用method属性
2.3.4使用通配符
2.3.5默认Action的配置
2.4配置Result
2.4.1 Result映射
2.4.2 Result类型
2.4.3常用结果类型
2.5使用注解配置Action
2.5.1与Action配置相关的注解
2.5.2使用注解配置Action示例
第3章 拦截器
3.1拦截器简介
3.2拦截器的配置与使用
3.2.1配置拦截器
3.2.2使用拦截器
3.2.3配置默认拦截器
3.3自定义拦截器
3.3.1自定义拦截器类
3.3.2使用自定义拦截器类
3.3.3文字过滤拦截器实例
3.4深入拦截器
3.4.1拦截器的方法过滤
3.4.2拦截器的拦截顺序
3.4.3拦截结果监听器
3.4.4覆盖拦截器栈中拦截器的参数值
3.5系统拦截器
3.5.1系统拦截器简介
3.5.2 timer拦截器实例
第4章 类型转换
4.1使用Struts 2中的类型转换
4.1.1 Struts 2内置类型转换器
4.1.2简单类型转换
4.1.3使用OGNL表达式
4.1.4使用集合类型属性
4.2自定义类型转换器
4.2.1基于OGNL的类型转换器
4.2.2基于Struts 2的类型转换器
4.2.3注册自定义类型转换器
4.2.4数组属性类型转换器
4.3类型转换中的异常处理
4.3.1一个简单的类型转换异常处理
4.3.2复合类型转换异常处理
4.4使用类型转换注解
4.4.1TypeConversion注解
4.4.2 Conversion注解
4.4.3 Element注解
4.4.4 Key注解
4.4.5 KeyProperty注解
4.4.6 CreateIfNull注解
第5章Struts 2标签库
5.1 Struts 2标签库概述
5.1.1标签库简介
5.1.2 Struts 2标签库分类
5.2控制标签
5.2.1 if/else if/else标签
5.2.2 iterator标签
5.2.3 append标签
5.2.4 merge标签
5.2.5 sort标签
5.2.6 generator标签
5.2.7 subset标签
5.3数据标签
5.3.1 property标签
5.3.2 set标签
5.3.3 push标签
5.3.4 param标签
5.3.5 bean标签
5.3.6 action标签
5.3.7 include标签
5.3.8 url标签
5.3.9 date标签
5.3.10 debug标签
5.4主题模板
5.5表单UI标签
5.5.1表单标签的公共属性
5.5.2 form标签
5.5.3 textfield、 password和 textarea标签
5.5.4 select标签
5.5.5 optgroup标签
5.5.6 doubleselect标签
5.5.7 updownselect标签
5.5.8 optiontransferselect标签
5.5.9 radio标签
5.5.10 checkboxlist标签
5.5.11 combobox标签
5.5.12 file标签
5.6非表单标签
5.6.1 actionerror、 actionmessage和 fielderror标签
5.6.2 component标签
第6章 输入校验
6.1输入校验概述
6.1.1输入校验的必要性
6.1.2客户端校验与服务器端校验
6.1.3类型换转与输入校验关系
6.2 Struts 2手动完成输入校验
6.2.1 validate()方法输入校验
6.2.2 validateXxx()方法输入校验
6.2.3输入校验流程
6.3基本输入校验
6.3.1定义校验规则
6.3.2校验器配置风格
6.3.3输入校验的国际化信息
6.4使用Struts 2内置校验器
6.4.1常用内置校验器
6.4.2必填校验器
6.4.3必填字符串校验器
6.4.4字符串长度校验器
6.4.5整数校验器
6.4.6浮点数值校验器
6.4.7日期校验器
6.4.8邮件地址校验器
6.4.9网址校验器
6.4.10正则表达式校验器
6.4.11类型转换校验器
6.4.12表达式校验器
6.4.13字段表达式校验器
6.4.14复合类型校验器
6.5使用自定义校验器
第7章 文件上传与下载
7.1文件上传
7.1.1文件上传的原理
7.1.2 Struts 2对上传文件的支持
7.1.3在Struts 2中实现文件上传
7.1.4实现上传文件的过滤
7.2多文件上传
7.2.1使用数组实现多文件上传
7.2.2使用List实现多文件上传
7.3文件下载
7.3.1 Struts 2实现文件下载
7.3.2下载权限控制示例
第8章Struts 2扩展与高级技巧
8.1 Struts 2国际化
8.1.1 Struts 2实现国际化机制
8.1.2国际化资源文件
8.1.3配置资源文件
8.1.4加载国际化资源文件的方式
8.1.5 Struts 2国际化应用
8.1.6带占位符的国际化资源文件
8.1.7实现自由选择语言环境
8.2应用中的异常处理
8.2.1 Struts 2异常处理机制
8.2.2异常处理示例
8.3 OGNL
8.4避免表单重复提交与等待页面
8.4.1使用token拦截器
8.4.2使用tokenSession拦截器
8.4.3自动显示等待页面
第9章 用户管理系统
9.1系统概述
9.1.1需求分析
9.1.2系统用例图
9.1.3系统设计
9.2数据库设计
9.3数据库连接模块的实现
9.4普通用户模块的实现
9.4.1用户登录
9.4.2查看个人信息
9.4.3查看所有用户信息
9.4.4修改个人信息
9.5普通管理员模块的实现
9.5.1管理员登录
9.5.2查看所有用户
9.5.3删除用户
9.5.4修改用户信息
9.5.5添加新用户
9.5.6查看所有管理员
9.5.7查看新增用户
9.6超级管理员模块的实现
9.6.1查找所有管理员
9.6.2删除普通管理员
9.6.3修改普通管理员
9.6.4添加管理员
第2篇Hibernate
第10章Hibernate简介
10.1 ORM简介
10.1.1 ORM概述
10.1.2 ORM面临的问题
10.1.3 ORM的优点
10.2 Hibernate框架
10.2.1 Hibernate框架的优点
10.2.2 Hibernate架构
10.2.3 Hibernate核心接口
10.2.4 Hibernate下载与安装
10.3第一个Hibernate程序
10.3.1使用Hibernate编程的步骤
10.3.2创建数据库
10.3.3编写持久化对象类
10.3.4编写Hibemate配置文件
10.3.5编写HibemateSession- Factory类
10.3.6编写数据库操作Dao类
10.3.7编写业务控制Action类
10.3.8配置Action类
10.3.9创建用户添加页面
10.3.10创建用户列表页面
10.3.11运行程序
10.4 Hibernate基础配置
10.4.1 Hibernate配置文件
10.4.2 Hibernate映射文件
10.5 Session接口
10.5.1构建SessionFactory
10.5.2 Session创建与关闭
10.5.3使用Session操作对象
10.5.4使用Session管理连接
10.5.5使用Session管理缓存
10.5.6使用Session生成检索对象
第11章Hibernate映射与检索
11.1集合映射
11.1.1 Java集合类
11.1.2 Set映射
11.1.3 List映射
11.1.4 Map映射
11.2实体对象关联关系映射
11.2.1单向n-1关联
11.2.2单向1-1关联
11.2.3双向1-1关联
11.2.4单向1-n关联
11.2.5双向1-n关联
11.2.6单向n-n关联
11.2.7双向n-n关联
11.3 Hibemate检索方式
11.3.1 HQL基础
11.3.2动态查询和动态实例查询
11.3.3分页查询
11.3.4 HQL嵌套子查询
11.3.5多表查询
11.3.6 QBC检索方式
第12章Hibernate事务、并发及缓存管理
12.1 Hibernate的事务管理
12.1.1事务的特性
12.1.2事务隔离
12.1.3在Hibernate中设置事务隔离级别
12.1.4在Hibernate中使用事务
12.2悲观锁和乐观锁
12.2.1悲观锁
12.2.2乐观锁
12.3 Hibemate缓存
12.3.1缓存的概念
12.3.2一级缓存与二级缓存比较
12.3.3一级缓存的管理
12.3.4二级缓存的管理
12.4 Hibernate查询缓存
12.4.1 Hibernate的查询操作
12.4.2查询缓存策略
12.4.3查询缓存的管理
12.5 Hibemate性能优化
12.5.1优化系统设计
12.5.2批量数据操作优化
第13章 新闻发布系统
13.1系统设计
13.1.1系统概述与分析
13.1.2系统模块结构
13.2数据库设计
13.3搭建Struts 2+Hibernate环境
13.4通用模块实现
13.4.1实现数据库连接
13.4.2建立业务实体对象
13.5新闻类别管理
13.5.1查看所有新闻类别
13.5.2添加类别
13.5.3修改类别
13.5.4删除类别
13.6新闻管理
13.6.1查看所有新闻
13.6.2查看新闻详情
13.6.3发布新闻
13.6.4修改新闻
13.7用户管理
13.7.1管理员登录
13.7.2修改个人密码
13.7.3修改个人资料
13.7.4退出系统
13.8新闻浏览
13.8.1首页
13.8.2查看更多新闻
13.8.3查看新闻详情
第3篇Spring
第14章Spring概述
14.1 Spring框架简介
14.2 Spring的下载和安装
14.3 Spring快速入门
14.3.1 Spring体系简介
14.3.2单态模式回顾
14.3.3工厂模式回顾
14.3.4单态模式与工厂模式的Spring实现
14.4控制反转(IoC)与依赖注入(DI)
14.4.1控制反转(IoC)
14.4.2依赖注入(DI)
14.5多种依赖注入方式
14.5.1设值注入
14.5.2构造注入
14.5.3属性注入
14.5.4方法注入
第15章 装配Bean
15.1 Bean容器
15.1.1 Bean工厂
15.1.2使用应用程序环境
15.2 Bean实例的创建方式
15.2.1调用构造器创建Bean实例
15.2.2调用静态工厂方法创建Bean
15.2.3调用实例工厂方法创建Bean
15.3 Bean的生命周期
15.3.1 BeanFactory中Bean的生命周期
15.3.2 ApplicationContext中Bean的生命周期
15.4 Bean的基本装配
15.4.1使用XML进行装配
15.4.2 Bean命名
15.5自动装配
15.5.1自动装配类型
15.5.2默认自动装配
15.5.3使用自动装配前提
15.6使用Spring特殊Bean
15.6.1 Bean后处理器
15.6.2容器后处理器
15.6.3配置信息分离
第16章 面向切面编程
16.1 AOP介绍
16.1.1 AOP术语介绍
16.1.2 Spring AOP实现
16.2使用Proxy Factoty Bean
16.3创建Advice
16.3.1前置通知
16.3.2后置通知
16.3.3环绕通知
16.3.4异常通知
16.4定义Pointcut
16.4.1定义Pointcut
16.4.2理解Advisor
16.4.3静态Pointcut
16.4.4动态Pointcut
16.5自动代理
16.5.1实现类介绍
16.5.2使用 BeanNameAutoproxy- Creator
16.5.3使用DefaultAdvisorAuto-
ProxyCreator
第17章Spring Web框架
17.1 Spring MVC框架简介
17.2配置DispatcherServlet
17.3控制器
17.3.1命令控制器
17.3.2表单控制器
17.3.3多动作控制器
17.4处理器映射
17.5视图与视图解析
17.6中文乱码问题
17.7 Spring对文件上传的支持
17.8异常处理
第18章 网络相册系统
18.1系统概述
18.1.1需求分析
18.1.2系统用例图
18.1.3系统设计
18.1.4数据库设计
18.2系统配置
18.2.1整合原理
18.2.2整合流程
18.2.3 applicationContext.xml
18.2.4 struts.xml
18.3系统模块开发
18.3.1用户注册
18.3.2用户登录
18.3.3查看修改个人信息
18.3.4创建相册
18.3.5上传图片
18.3.6查看相册
18.3.7管理相册
18.3.8添加好友
18.3.9发表好友图片评论
18.3.10查看好友评论
第4篇 综合实例
第19章 网上书店
19.1系统设计
19.1.1需求分析
19.1.2功能设计
19.2数据库设计
19.3系统实现
19.3.1搭建Struts 2+Spring+ Hibernate环境
19.3.2建立业务实体对象
19.3.3用户注册模块
19.3.4图书显示模块
19.3.5购物车模块
19.3.6后台管理模块