第1章 Web应用开发简介 1
1.1 何为Web应用 1
1.1.1 Web的概念及发展 1
1.1.2 Web应用程序 2
1.2 使用Java开发Web应用 3
1.2.1 面向对象的编程语言 3
1.2.2 丰富的框架技术 4
1.2.3 XML、CSS的应用 4
1.2.4 使用JavaScript与Ajax提升用户体验 7
1.3 多种集成开发环境 9
1.3.1 集成开发环境简介 9
1.3.2 Web应用服务器说明 11
本章小结 14
课后练习 14
第2章 Java EE运行及开发环境 15
2.1 JDK的下载与安装 15
2.1.1 JDK的下载与安装 15
2.1.2 配置环境变量 17
2.2 Tomcat的下载与安装 19
2.2.1 下载并安装Tomcat服务器 19
2.2.2 基本配置 22
2.2.3 服务器页面介绍 23
2.3 Eclipse的下载与安装 24
2.3.1 Eclipse的下载与安装 24
2.3.2 熟悉Eclipse开发环境 24
2.4 项目实战——第一个JavaEE应用:HelloWorld 28
2.4.1 开始创建第一个Java EE应用 28
2.4.2 熟悉HelloWorld框架结构 29
本章小结 32
课后练习 32
第3章 JSP和Servlet 33
3.1 开发第一个JSP+Servlet应用 33
3.1.1 创建工程 33
3.1.2 编写程序 34
3.1.3 部署应用 35
3.2 认识JSP 36
3.2.1 JSP的工作原理 37
3.2.2 JSP注释方式 37
3.2.3 JSP声明方式 38
3.2.4 JSP表达式的应用 39
3.2.5 JSP的脚本段 39
3.2.6 JSP的编译指令 40
3.2.7 JSP的动作指令 41
3.2.8 JSP的内置对象 43
3.3 认识Servlet 46
3.3.1 Servlet的开发 46
3.3.2 使用HttpServlet 47
3.3.3 Servlet的生命周期 49
3.3.4 load-on-startup Servlet 50
3.4 自定义标签库 51
3.5 预处理用户请求:Filter 53
3.6 使用Listener 56
3.7 项目实战——用户登录 59
本章小结 62
课后练习 63
第4章 SQL与JDBC 64
4.1 SQL 64
4.1.1 SQL概述 64
4.1.2 DDL与DML简介 64
4.1.3 SQL使用方法 65
4.2 JDBC 67
4.2.1 JDBC概述 67
4.2.2 JDBC驱动程序 68
4.2.3 使用JDBC读取数据 69
4.3 项目实战——存储图书信息 73
本章小结 78
课后练习 79
第5章 Struts 2框架基础 80
5.1 MVC框架 80
5.1.1 Model 1与Model 2 80
5.1.2 MVC设计模式 81
5.1.3 Struts 2框架的MVC架构 82
5.2 Struts 2概览 84
5.2.1 Struts 2的工作流程 84
5.2.2 Struts 2的简单应用 85
5.3 Struts 2基础 87
5.3.1 Action详解 88
5.3.2 结果与视图 91
5.3.3 struts.xml的配置 94
5.4 值栈与OGNL表达式 100
5.5 Struts 2的标签库 103
5.5.1 控制标签 103
5.5.2 数据标签 104
5.5.3 表单标签 105
5.5.4 非表单UI标签 107
本章小结 108
课后练习 109
第6章 Struts 2高级应用 110
6.1 拦截器 110
6.1.1 拦截器工作机制 110
6.1.2 拦截器及拦截器栈的应用 111
6.1.3 自定义拦截器 115
6.2 类型转换器 117
6.2.1 Struts 2内置类型转换器 117
6.2.2 引用类型的转换方式 117
6.2.3 特殊对象的类型转换 118
6.2.4 类型转换的错误处理 121
6.3 输入校验 123
6.3.1 输入校验的必要性 123
6.3.2 编程方式实现输入校验 125
6.3.3 应用Struts 2输入校验框架 128
6.3.4 自定义校验器 130
6.4 国际化 131
6.4.1 国际化实现原理 131
6.4.2 准备国际化资源文件 131
6.4.3 调用国际化资源文件 134
6.5 上传和下载 135
6.5.1 文件上传的实现原理 135
6.5.2 Struts 2文件上传实现方式 136
6.5.3 Struts 2文件下载实现方式 141
本章小结 143
课后练习 144
第7章 Struts 2中应用模板语言 145
7.1 模板语言简介 145
7.2 应用Velocity 146
7.2.1 Velocity基础 146
7.2.2 Struts 2对Velocity的支持 153
7.3 应用FreeMarker 155
7.3.1 FreeMarker基础 155
7.3.2 Struts 2整合FreeMarker 166
7.3.3 使用Struts 2标签设计模板 170
7.4 FreeMarker与Velocity的比较 171
本章小结 171
课后练习 172
第8章 Hibernate框架基础 173
8.1 ORM简介 173
8.1.1 应用ORM的意义 173
8.1.2 流行的ORM框架 174
8.2 准备Hibernate运行环境 174
8.2.1 下载与安装Hibernate 175
8.2.2 Hibernate发布包介绍 175
8.3 认识Hibernate 176
8.3.1 Hibernate框架结构 176
8.3.2 Hibernate配置文件 177
8.3.3 Configuration与SessionFactory 178
8.3.4 Session类 179
8.3.5 Hibernate中的关联关系 179
8.3.6 Hibernate映射文件 180
8.3.7 Hibernate工作原理 182
8.4 项目实战——新闻内容显示 183
本章小结 186
课后练习 187
第9章 Hibernate查询 188
9.1 Hibernate的数据检索策略 188
9.1.1 立即检索 188
9.1.2 延迟检索 189
9.1.3 预先检索 190
9.1.4 批量检索 191
9.2 Hibernate的数据查询方式 193
9.2.1 HQL方式 193
9.2.2 QBC方式 194
9.2.3 原生SQL方式 195
9.3 Hibernate的关联查询 196
9.3.1 一对一关联关系的使用 196
9.3.2 一对多、多对一关联关系的使用 197
9.3.3 多对多关联关系的使用 199
9.4 Hibernate过滤 201
9.4.1 Session过滤 201
9.4.2 Filter过滤 201
9.5 项目实战——客户订单管理 202
本章小结 207
课后练习 207
第10章 Hibernate性能优化 208
10.1 Hibernate事务与并发 208
10.1.1 什么是事务 208
10.1.2 Hibernate中的事务处理 209
10.1.3 在Hibernate中使用JTA事务 210
10.1.4 并发控制 211
10.2 Hibernate缓存 213
10.2.1 缓存的工作原理 213
10.2.2 应用一级缓存 214
10.2.3 应用二级缓存 214
10.2.4 应用第三方缓存 216
10.3 项目实战——借还图书 217
本章小结 224
课后练习 224
第11章 Spring框架基础 226
11.1 Spring框架概述 226
11.1.1 认识Spring框架 226
11.1.2 Spring框架特点 226
11.1.3 Spring框架核心架构 227
11.2 建立Spring开发环境 228
11.2.1 下载Spring框架 228
11.2.2 Spring发布包与软件包 229
11.2.3 创建Spring应用环境 230
11.3 Bean的装配 231
11.3.1 Bean基本配置 232
11.3.2 为Bean添加属性 232
11.3.3 简化配置 233
11.4 理解Spring的核心——IoC 234
11.4.1 控制反转 234
11.4.2 依赖注入的3种方式 236
11.5 BeanFactory与ApplicationContext 238
11.5.1 认识BeanFactory 238
11.5.2 使用ApplicationContext 238
11.6 项目实战——Spring问候程序 239
本章小结 241
课后练习 241
第12章 Spring AOP 242
12.1 AOP基础 242
12.1.1 AOF与OOP的比较 242
12.1.2 AOF的核心概念 243
12.1.3 Java动态代理与AOP 244
12.1.4 Spring AOP简介 245
12.2 使用Spring的通知 246
12.2.1 BeforeAdvice 246
12.2.2 AfterReturningAdvice 248
12.2.3 MethodInterceptor 249
12.2.4 ThrowAdvice 250
12.3 使用Spring的切入点 251
12.3.1 静态切入点 251
12.3.2 动态切入点 253
12.4 SpringAOP的代理工厂 253
12.4.1 选择合适的代理 253
12.4.2 ProxyFactory 254
12.4.3 ProxyFactoryBean 254
12.5 项目实战——输出日志 256
本章小结 258
课后练习 259
第13章 Spring与Java EE持久化数据访问 260
13.1 Spring对DAO模式的支持 260
13.1.1 统一的数据访问异常 260
13.1.2 通用的数据访问模板及抽象支持类 261
13.2 Spring的JDBC 262
13.2.1 为什么需要JdbcTemplate 262
13.2.2 通过JdbcDaoSupport使用JdbcTemplate 263
13.2.3 JdbcTemplate提供的常用数据操作方法 264
13.3 Spring中的事务处理 265
13.3.1 Spring事务处理概述 266
13.3.2 编程式事务处理 266
13.3.3 声明式事务处理 267
13.3.4 标注式事务处理 268
13.4 项目实战——公司人事管理 269
本章小结 276
课后练习 276
第14章 Spring与Struts 2、Hibernate框架的整合基础 277
14.1 Spring与Struts 2的整合方式 277
14.1.1 Struts 2应用的扩展方式 277
14.1.2 Spring插件的应用 278
14.2 Spring和Hibernate的整合 279
14.2.1 Spring对Hibernate的支持 279
14.2.2 管理SessionFactory 279
14.2.3 Hibernate的DAO实现 281
14.2.4 使用HibernateTemplate 281
14.2.5 管理Hibernate事务 282
14.3 项目实战——学生成绩查询系统 283
本章小结 292
课后练习 293
第15章 图书馆管理系统 294
15.1 系统功能解析 294
15.2 系统数据库设计 295
15.2.1 数据库分析 295
15.2.2 数据表关联关系分析 298
15.3 系统框架搭建 300
15.3.1 创建工程 300
15.3.2 工程目录结构 300
15.4 系统代码实现 302
15.4.1 数据库连接的实现 303
15.4.2 工具类的实现 304
15.4.3 管理员登录与退出实现 306
15.4.4 系统管理实现 313
15.4.5 图书管理实现 319
15.4.6 读者管理实现 329
15.4.7 借还管理实现 333
15.4.8 前台功能实现 336
本章小结 342