第1部分 实用教程 1
第1章 Java EE开发平台及开发基础 1
1.1 Java EE的开发方式 1
1.2 Java EE开发环境构建 2
1.2.1 软件的安装 2
1.2.2 整合开发环境 6
1.3 Java EE开发入门 9
1.3.1 MyEclipse集成开发环境 9
1.3.2 一个简单的Java EE程序 12
1.3.3 Java EE程序的简单调试 22
1.3.4 管理JavaEE项目 25
习题1 27
第2章 Struts 2基础 28
2.1 Struts 2框架开发入门 28
2.1.1 MVC基本思想 28
2.1.2 MVC实现方式 29
2.1.3 简单Struts 2开发 30
2.2 Struts 2原理及工作流程 34
2.2.1 Struts 2工作原理 34
2.2.2 Struts 2项目运行流程 35
2.3 解密Struts 2程序文件 36
2.3.1 Action类应用详解 36
2.3.2 <action>配置详解 40
2.3.3 <result>配置详解 42
2.3.4 <package>配置详解 45
2.3.5 struts.xml文件 47
2.3.6 struts.properties文件 49
2.3.7 web.xml文件 51
习题2 53
第3章 Struts 2标签库 54
3.1 Struts 2的OGNL 54
3.2 Struts 2的标签库 56
3.2.1 数据标签 56
3.2.2 控制标签 65
3.2.3 表单标签 72
3.2.4 非表单标签 81
习题3 82
第4章 Struts 2类型转换及输入校验 83
4.1 Struts 2内置类型转换器 83
4.1.1 常用类型转换器 83
4.1.2 内置转换器的使用 83
4.2 自定义类型转换器 86
4.2.1 继承DefaultTypeConverter类实现转换器 86
4.2.2 继承StrutsTypeConverter类实现转换器 89
4.3 数组和集合类型的转换 91
4.3.1 数组类型转换器 91
4.3.2 集合类型转换器 93
4.4 Struts 2输入校验 94
4.4.1 使用execute()方法校验 96
4.4.2 重写validate()方法校验 97
4.4.3 使用Struts 2校验框架 97
4.4.4 客户端校验 100
习题4 101
第5章 Struts 2拦截器 102
5.1 拦截器概述 102
5.2 拦截器的配置 104
5.3 自定义拦截器 107
5.3.1 拦截器实现类 107
5.3.2 自定义拦截器的使用 108
5.3.3 拦截器应用 109
习题5 111
第6章 Struts2的其他应用 112
6.1 Struts 2文件上传 112
6.1.1 单文件上传 112
6.1.2 多文件上传 114
6.2 Struts 2文件下载 116
6.3 Struts 2国际化应用 118
6.3.1 国际化原理及资源文件 118
6.3.2 资源文件的访问方式 119
6.3.3 国际化应用实例 120
习题6 123
第7章 Struts 2综合应用案例 124
7.1 “图书管理系统”主界面设计 124
7.1.1 头部设计 124
7.1.2 整体设计 126
7.2 增加验证的“登录”功能 128
7.3 实现“借书”功能 130
7.3.1 总体界面设计 130
7.3.2 查询已借图书 133
7.3.3 “借书”功能 141
7.4 实现“图书管理”功能 146
7.4.1 总体界面设计 146
7.4.2 “图书追加”功能 148
7.4.3 “图书删除”功能 154
7.4.4 “图书查询”功能 156
7.4.5 “图书修改”功能 157
习题7 158
第8章 Hibernate基础 159
8.1 ORM简介 159
8.2 第一个Hibernate程序 159
8.3 Hibernate各种文件的作用 166
8.3.1 POJO类及其映射文件 166
8.3.2 Hibernate核心配置文件 168
8.3.3 HibernateSessionFactory类 168
8.4 Hibernate工作流程 171
8.5 Hibernate核心接口 171
8.5.1 Configuration接口 172
8.5.2 SessionFactory接口 172
8.5.3 Session接口 172
8.5.4 Transaction接口 172
8.5.5 Query接口 173
习题8 173
第9章 Hibernate映射机制 174
9.1 主键映射 174
9.1.1 代理主键的映射 174
9.1.2 单个自然主键的映射 176
9.1.3 复合自然主键的映射 176
9.2 数据类型映射 180
9.3 对象关系映射 181
9.3.1 继承关系映射 181
9.3.2 关联关系映射 190
9.4 动态类的使用 202
习题9 204
第10章 Hibernate对持久化对象的操作 205
10.1 操作持久化对象的常用方法 205
10.1.1 save()方法 205
10.1.2 get()和load()方法 205
10.1.3 update()方法 206
10.1.4 delete()方法 206
10.1.5 saveOrUpdate()方法 206
10.2 HQL查询 207
10.2.1 基本查询 207
10.2.2 条件查询 208
10.2.3 分页查询 209
10.2.4 连接查询 209
10.2.5 子查询 210
10.2.6 SQL查询 211
10.3 Hibernate的批量操作 214
10.3.1 批量插入 214
10.3.2 批量更新 215
10.3.3 批量删除 216
10.4 持久对象的生命周期 216
习题10 218
第11章 Hibernate高级特性 219
11.1 Hibernate事务管理 219
11.1.1 事务的概念 219
11.1.2 Hibernate的事务 219
11.2 Hibernate并发处理 221
11.2.1 并发产生的问题 221
11.2.2 解决方案 223
11.3 Hibernate的拦截器 224
11.3.1 Interceptor接口 224
11.3.2 应用举例 226
习题11 228
第12章 Hibernate与Struts 2整合应用案例 229
12.1 Hibernate与Struts 2系统的整合 229
12.2 添加Hibernate及开发持久层 230
12.3 功能实现 240
12.3.1 “登录”功能的实现 241
12.3.2 “查询已借图书”功能的实现 242
12.3.3 “借书”功能的实现 244
12.3.4 “图书管理”功能的实现 246
习题12 249
第13章 Spring基础 250
13.1 Spring开发入门 250
13.1.1 Spring概述 250
13.1.2 Spring简单应用 251
13.2 Spring的核心机制——依赖注入 254
13.2.1 依赖注入的概念 254
13.2.2 依赖注入的两种方式 257
13.3 Spring容器中的Bean 259
13.3.1 Bean的定义 259
13.3.2 Bean的基本属性 259
13.3.3 Bean的生命周期 262
13.3.4 Bean的管理 265
13.3.5 Bean的依赖关系 267
13.3.6 Bean的自动装配 268
13.4 Spring对集合属性的注入 270
13.4.1 对List的注入 270
13.4.2 对Set的注入 271
13.4.3 对Map的注入 272
13.5 Spring后处理器 273
13.5.1 Bean后处理器 273
13.5.2 容器后处理器 274
习题13 276
第14章 Spring的AOP及事务支持 277
14.1 Spring的AOP 277
14.1.1 代理机制 277
14.1.2 AOP的术语与概念 281
14.1.3 Spring 1.x的AOP支持 282
14.1.4 Spring 2.x的AOP支持 290
14.2 Spring的事务支持 297
14.2.1 使用TransactionProxyFactoryBean生成事务代理 298
14.2.2 利用继承简化配置 299
14.2.3 用BeanNameAutoProxyCreator自动创建事务代理 301
14.2.4 用DefaultAdvisorAutoProxyCreator自动创建事务代理 302
习题14 303
第15章 Spring的其他功能 304
15.1 Spring的Web框架 304
15.1.1 第一个Spring的MVC应用 304
15.1.2 Spring MVC的控制器 308
15.1.3 Spring MVC的分发器 312
15.1.4 数据绑定 313
15.1.5 Validator应用 318
15.2 定时器的应用 319
15.2.1 使用程序直接启动方式 319
15.2.2 使用Web监听方式 320
15.2.3 Spring定制定时器 321
习题15 322
第16章 用Spring整合各种Java EE框架 323
16.1 Spring与Struts 2整合 323
16.1.1 整合原理 323
16.1.2 应用实例 323
16.2 Spring与Hibernate整合 325
16.2.1 整合原理 325
16.2.2 应用实例 325
16.3 Spring与Struts 2、Hibernate三者的整合 335
16.3.1 整合原理 335
16.3.2 项目架构 335
16.3.3 修改DAO实现类 336
16.3.4 编写业务逻辑接口及实现类 342
16.3.5 “登录”功能的实现 345
16.3.6 “查询已借图书”功能的实现 347
16.3.7 “借书”功能的实现 349
16.3.8 “图书管理”功能的实现 351
习题16 355
第2部分 实验指导 356
实验1 Struts 2基础应用 356
实验目的 356
实验内容 356
思考与练习 357
实验2 Struts 2综合应用 357
实验目的 357
实验内容 357
思考与练习 358
实验3 Hibernate基础应用 359
实验目的 359
实验内容 359
思考与练习 359
实验4 Hibernate与Struts 2整合应用 359
实验目的 359
实验内容 359
思考与练习 359
实验5 Spring基础应用 360
实验目的 360
实验内容 360
思考与练习 360
实验6 Spring AOP应用 360
实验目的 360
实验内容 360
思考与练习 360
实验7 Spring与Struts 2整合应用 361
实验目的 361
实验内容 361
思考与练习 361
实验8 Spring与Hibernate整合应用 361
实验目的 361
实验内容 361
思考与练习 361
实验9 Struts 2、Hibernate、Spring整合应用 361
实验目的 361
实验内容 362
思考与练习 362
第3部分 综合应用实习 363
实习1 学生成绩管理系统 363
P1.1 数据库准备 363
P1.2 Java EE系统分层架构 364
P1.2.1 分层模型 364
P1.2.2 多框架整合实施方案 365
P1.3 搭建项目总体框架 366
P1.4 持久层开发 367
P1.4.1 生成POJO类及映射 367
P1.4.2 实现DAO接口组件 370
P1.5 业务层开发 378
P1.5.1 系统登录功能用Service 378
P1.5.2 学生信息管理功能用Service 378
P1.5.3 学生成绩管理功能用Service 381
P1.6 表示层开发 383
P1.6.1 通用功能实现 383
P1.6.2 “学生信息管理”功能实现 391
P1.6.3 “学生成绩管理”功能实现 404
附录A SQL Server 2008/2012图书管理系统数据库 413
A.1 登录表 413
A.2 读者信息表 413
A.3 图书信息表 413
A.4 借阅信息表 414