第一篇 基础篇 3
第1单元Java EE概述 3
1.1 任务1 Java EE发展历史 3
1.2 任务2 Java EE简介 4
1.2.1 Java EE的概念 4
1.2.2 Java EE提出的背景 4
1.2.3 Java EE的优势 4
1.2.4 Java EE的四层模型 5
1.3 任务3 Java EE的13种核心技术 6
单元总结 8
习题 8
实训1 Java EE概况 8
第2单元 Java EE运行及开发环境的搭建 9
2.1 任务1 JDK的下载、安装及配置 9
2.1.1 JDK的下载和安装 9
2.1.2 JDK的环境变量的配置 9
2.2 任务2 Eclipse的下载与安装 10
2.3 任务3MyEclipse的下载与安装 11
2.3.1 MyEclipse插件的下载 11
2.3.2 MyEclipse插件的安装 11
2.3.3 启动MyEclipse 11
2.4 任务4 Tomcat服务器的下载、安装及配置 12
2.4.1 Tomcat的下载和安装 13
2.4.2 在MyEclipse中配置Tomcat 13
2.5 任务5进阶式案例——Hello World程序 15
单元总结 18
习题 18
实训2搭建Java EE运行及开发环境 19
第3单元 数据库访问技术 20
3.1 任务1引入性案例 20
3.1.1 案例分析 20
3.1.2 解决方案 21
3.1.3 具体实现 21
3.2 任务2 MySQL数据库 21
3.2.1 MySQL安装与配置 21
3.2.2 MySQL的使用 23
3.3 任务3 JDBC 26
3.3.1 JDBC概述 26
3.3.2 JDBC驱动程序 26
3.3.3 使用JDBC连接数据库 27
3.3.4 常用数据库的JDBC连接代码 28
3.3.5 JDBC发送SQL语句 29
3.3.6 获得SQL语句的执行结果 30
3.4 任务4进阶式案例——添加用户功能的具体实现 31
3.4.1 功能概述 32
3.4.2 运行效果 32
3.4.3 具体实现 32
单元总结 38
习题 39
实训3实现图书管理系统中添加图书信息的功能 39
第二篇 框架篇 43
第4单元 Struts 2框架技术入门 43
4.1 任务1引入性案例 43
4.1.1 解决方案 44
4.1.2 具体实现 44
4.1.3 分析不足之处 50
4.2 任务2 Struts 2简介 51
4.2.1 Struts 2的发展历史 51
4.2.2 Struts 2与WebWork 2、Struts 1的关系 51
4.3 任务3 Struts 2的体系结构 53
4.3.1 Struts 2的体系结构 53
4.3.2 Struts 2的工作机制 53
4.4 任务4 Struts 2的配置 54
4.4.1 web.xml的配置 55
4.4.2 struts.properties的配置 55
4.4.3 struts.xml的配置 56
4.4.4 package的配置 56
4.4.5 命名空间的配置 56
4.5 任务5进阶式案例——第一个Struts 2程序 57
4.5.1 解决方案 57
4.5.2 具体实现 57
单元总结 60
习题 60
实训4使用Struts 2框架实现图书管理系统的用户登录模块 61
第5单元 Struts 2进阶与提高 62
5.1 任务1引入性案例 62
5.1.1 案例分析 62
5.1.2 设计步骤 64
5.1.3 具体实现 64
5.1.4 Struts 2 工作流程 67
5.1.5 分析不足之处 68
5.2 任务2 Struts 2标签库 69
5.2.1 Struts 2标签分类 69
5.2.2 表单标签 70
5.2.3 非表单标签 73
5.2.4 控制标签 73
5.2.5 数据标签 74
5.3 任务3 Struts 2国际化 74
5.3.1 Struts 2中的全局资源文件 74
5.3.2 在Struts 2中访问国际化信息 75
5.3.3 对引入性案例实现国际化 75
5.4 任务4数据类型转换器 76
5.4.1 传统的类型转换 76
5.4.2 Struts 2内建的类型转换器 77
5.4.3 其他转换方式 78
5.5 任务5数据校验 82
5.5.1 使用validate方法进行数据校验 82
5.5.2 使用Validation框架进行数据校验 84
5.6 任务6进阶式案例——用户注册模块 86
5.6.1 设计步骤 87
5.6.2 运行效果 88
单元总结 89
习题 89
实训5 图书管理系统的用户登录模块的优化 89
第6单元 Hibernate框架技术入门 91
6.1 任务1引入性案例 91
6.1.1 案例分析 91
6.1.2 设计步骤 92
6.1.3 具体实现 92
6.1.4 分析不足之处 97
6.2 任务2 ORM简介 97
6.2.1 为什么要使用ORM 98
6.2.2 具有代表性的ORM框架 98
6.3 任务3 Hibernate简介 99
6.3.1 Hibernate的发展历史 99
6.3.2 Hibernate与EJB的关系 99
6.3.3 Hibernate框架结构 100
6.3.4 Hibernate的工作原理 100
6.4 任务4 Hibernate的安装与配置 101
6.4.1 Hibernate的安装 101
6.4.2 Hibernate配置文件 101
6.5 任务5 Hibernate的核心类 103
6.5.1 Configuration与SessionFactory 103
6.5.2 Session类 104
6.6 任务6 对象关联关系 104
6.7 任务7 Hibernate映射 104
6.7.1 基本数据类型映射 105
6.7.2 持久化类和数据表映射 106
6.8 任务8进阶式案例——使用Hibernate框架技术添加商品信息 107
6.8.1 解决方案 107
6.8.2 具体实现 107
6.8.3 运行效果 110
单元总结 111
习题 111
实训6使用Hibernate框架实现图书管理系统中添加图书信息的功能 111
第7单元 Hibernate查询 113
7.1 任务1引入性案例 113
7.1.1 案例分析 113
7.1.2 设计步骤 114
7.1.3 具体实现 114
7.1.4 分析不足之处 117
7.2 任务2 Hibernate的关联查询 117
7.2.1 一对一关联关系 118
7.2.2 一对多、多对一关联关系 119
7.2.3 多对多关联关系 121
7.3 任务3 Hibernate的数据检索策略 122
7.3.1 立即检索 122
7.3.2 延迟检索 123
7.3.3 预先检索 123
7.3.4 批量检索 124
7.4 任务4 Hibernate的数据查询策略 124
7.4.1 Hibernate查询方式简介 125
7.4.2 标准API方式 125
7.4.3 HQL方式 126
7.4.4 原生SQL方式 127
7.5 任务5 Hibernate过滤 128
7.5.1 Session过滤 128
7.5.2 Filter过滤 129
7.6 任务6 进阶式案例——使用Hibernate框架技术实现多表连接查询 129
7.6.1 解决方案 130
7.6.2 具体实现 130
7.6.3 运行效果 134
7.6.4 案例解析 134
单元总结 136
习题 137
实训7使用Hibernate框架实现图书管理系统中查询图书详细信息的功能 137
第8单元 Hibernate高级特性 139
8.1 任务1引入性案例 139
8.1.1 案例分析 140
8.1.2 设计步骤 140
8.1.3 具体实现 141
8.1.4 分析不足之处 148
8.2 任务2 Hibernate的事务管理 149
8.2.1 事务的基本概念 149
8.2.2 基于JDBC的事务管理 150
8.2.3 基于JTA的事务管理 151
8.3 任务3 Hibernate的并发控制 152
8.3.1 并发的基本概念 152
8.3.2 悲观锁 153
8.3.3 乐观锁 154
8.4 任务4 Hibernate的缓存管理 155
8.4.1 缓存原理 156
8.4.2 一级缓存 156
8.4.3 二级缓存 157
8.4.4 查询缓存 158
8.5 任务5进阶式案例——使用Hibernate的高级特性优化引入性案例 161
8.5.1 解决方案 162
8.5.2 具体实现 162
8.5.3 运行效果 166
8.5.4 案例解析 166
单元总结 167
习题 167
实训8 使用Hibernate框架实现图书管理系统中借阅、归还图书的功能 168
第9单元 Spring框架技术入门 170
9.1 任务1引入性案例 170
9.1.1 案例分析 170
9.1.2 设计步骤 171
9.1.3 具体实现 171
9.1.4 分析不足之处 172
9.2 任务2 Spring简介 172
9.2.1 Spring的发展历史 172
9.2.2 Spring的主要特性 173
9.2.3 Spring框架的组成 173
9.3 任务3 Spring的下载和配置 174
9.3.1 下载Spring框架 175
9.3.2 Spring发布包和软件包 175
9.3.3 Spring的配置 176
9.3.4 Bean的配置 176
9.4 任务4理解Spring的核心模式——IoC 178
9.4.1 反转控制 178
9.4.2 依赖注入的3种方式 180
9.5 任务5 BeanFactory与ApplicationContext 181
9.5.1 BeanFactory 182
9.5.2 ApplicationContext 183
9.6 任务6进阶式案例——使用Spring框架实现引入性案例 183
9.6.1 解决方案 183
9.6.2 具体实现 184
9.6.3 运行效果 186
单元总结 186
习题 187
实训9使用Spring框架实现本单元实例1 中的情景 187
第10单元 Spring框架中的AOP技术 188
10.1 任务1引入性案例 188
10.1.1 案例分析 188
10.1.2 设计步骤 189
10.1.3 具体实现 189
10.1.4 分析不足之处 190
10.2 任务2 AOP概述 190
10.2.1 OOP与AOP的关系 191
10.2.2 AOP的相关概念 192
10.2.3 Java动态代理与AOP 192
10.3 任务3 Spring AOP 中的通知 195
10.3.1 Spring AOP支持的通知类型 195
10.3.2 BeforeAdvice 196
10.3.3 AfterReturningAdvice 198
10.3.4 MethodInterceptor 199
10.3.5 ThrowAdvice 200
10.4 任务4 Spring AOP的切入点 202
10.4.1 静态切入点 202
10.4.2 动态切入点 203
10.4.3 静态切入点测试实例 203
10.5 任务5 AOP的代理模式 205
10.5.1 理解代理 205
10.5.2 ProxyFactory 206
10.5.3 ProxyFactoryBean 207
10.5.4 AOP代理模式测试实例 207
10.6 任务6进阶式案例——使用Spring框架中的AOP技术实现引入性案例 211
10.6.1 解决方案 211
10.6.2 具体实现 211
10.6.3 运行效果 213
单元总结 214
习题 214
实训10使用Spring AOP技术模拟图书管理系统中到期提醒信息的输出 215
第11单元 Spring、Struts、Hibernate框架整合技术 216
11.1 任务1引入性案例 216
11.2 任务2 Spring与Struts的整合 217
11.2.1 Spring与Struts 1的整合方式 217
11.2.2 Spring与Struts 2的整合技术 218
11.3 任务3 Spring与Java EE持久化数据访问技术 220
11.3.1 获取DataSource的方法 220
11.3.2 Spring对JDBC的支持 222
11.4 任务4 Spring与Hibernate的整合 224
11.4.1 Spring对Hibernate的支持 224
11.4.2 Spring对SessionFactory的管理 225
11.4.3 Hibernate的DAO实现 226
11.4.4 使用HibernateTemplate 226
11.4.5 管理Hibernate事务 227
11.5 任务5构建SSH整合框架体系 229
11.6 任务6 进阶式案例——使用SSH框架体系实现购物车模块的开发 241
11.6.1 解决方案 241
11.6.2 具体实现 242
11.6.3 运行效果 251
单元总结 251
习题 252
实训11使用SSH框架体系实现图书管理系统中图书添加和查阅模块 252
第三篇 系统开发篇 255
第12单元 网上购物系统 255
12.1 步骤1网上购物系统需求分析 255
12.2 步骤2网上购物系统数据库设计 256
12.3 步骤3网上购物系统框架搭建 258
12.3.1 工程目录结构解析 258
12.3.2 创建ShoppingSystem工程 259
12.4 步骤4网上购物系统的代码实现 259
12.4.1 数据持久层的实现 259
12.4.2 数据库连接的实现 260
12.4.3 用户管理模块的实现 261
12.4.4 商品浏览模块的实现 266
12.4.5 购物车管理模块的实现 271
12.4.6 订单管理模块的实现 278
12.4.7 主界面的实现 281
单元总结 284
习题 284
实训12图书管理系统 285