第1章 综述 1
1.1 Java EE技术和相关框架 1
1.1.1 Java EE应用程序架构 1
1.1.2 对象关系映射框架 3
1.1.3 Spring框架 3
1.2 本书的结构 3
1.3 JDBC的使用 4
1.3.1 JDBC系统的数据访问层 4
1.3.2 PreparedStatement接口 8
本章总结 13
第2章 JSP+Servlet介绍——系统的控制层 14
2.1 JSP入门 14
2.1.1 第一个JSP程序的运行 15
2.1.2 JSP中的小脚本 16
2.1.3 JSP表达式输出结果 17
2.1.4 JSP中的注释 18
2.2 JSP的内置对象 19
2.3 Servlet的使用 22
2.4 JSP和Servlet的关系 23
本章总结 26
第3章 JSP标准标签库(EL和JSTL) 27
3.1 EL内置对象 28
3.2 JSP标准标签库 31
3.2.1 核心标签库 31
3.2.2 函数标签 37
本章总结 39
第4章 AJAX实用技术 40
4.1 AJAX介绍 41
4.2 AJAX技术 41
4.2.1 判断用户是否存在 41
4.2.2 创建XMLHttpRequest对象 42
4.2.3 使用JavaScript发送异步请求 43
4.2.4 服务器端Servlet的代码 45
4.2.5 回调函数的处理 47
4.2.6 更新客户端显示 47
4.2.7 进一步完善 48
4.3 JSON对象 51
4.3.1 什么是JSON对象 52
4.3.2 JSON完整的格式 52
4.3.3 开发JSON案例 54
本章总结 58
第5章 Struts2入门 59
5.1 MVC设计模式 59
5.2 做一个简易的MVC框架 61
5.2.1 定义Action接口 61
5.2.2 开发Controller类 62
5.2.3 视图页面 64
5.3 快速实现一个Struts2应用 64
5.3.1 引入Struts2类库 65
5.3.2 第一个Struts2程序 65
5.3.3 访问Servlet API对象 69
5.4 Struts2的配置优化 73
5.4.1 Struts2配置文件 73
5.4.2 Action的动态方法调用 77
本章总结 80
第6章 Struts2深入 81
6.1 拦截器意义 81
6.2 Struts2拦截器 81
6.2.1 配置拦截器 82
6.2.2 使用拦截器 83
6.2.3 默认拦截器 83
6.3 自定义拦截器 85
6.3.1 实现拦截器类 85
6.3.2 拦截器的配置 86
6.4 文件上传和下载 87
6.4.1 单文件上传 88
6.4.2 使用拦截器实现文件过滤 90
6.4.3 多文件上传 91
6.4.4 文件下载 92
6.5 OGNL技术 93
6.5.1 数据类型转换 94
6.5.2 自定义类型转换器 98
6.5.3 OGNL表达式 100
本章总结 103
第7章 Struts2验证框架和国际化 104
7.1 Struts2的验证方法 104
7.1.1 重写validate()方法 104
7.1.2 重写validateXxx()方法 106
7.1.3 验证框架 107
7.1.4 实现数据校验流程的总结 110
7.2 Struts2国际化实现 110
7.2.1 国际化资源文件 111
7.2.2 在Struts2应用使用国际化 113
7.2.3 使用程序实现用户选择语言 115
本章总结 117
第8章 Hibernate入门 118
8.1 搭建Hibernate环境 119
8.1.1 Hibernate的简介 119
8.1.2 Hibernate的下载和配置 119
8.2 使用Hibernate完成持久化操作 124
8.2.1 持久化操作的步骤 124
8.2.2 根据主键加载对象 126
8.2.3 使用Hibernate实现数据库的增、删、改操作 127
8.3 Hibernate中Java对象的三种状态 129
8.3.1 实体对象的三种状态 129
8.3.2 三种状态之间的转换 131
8.4 脏检查及刷新缓存机制 131
8.4.1 脏检查 131
8.4.2 刷新缓存机制 132
8.5 数据的更新方法 132
8.6 使用MyEclipse反向工程生成实体和映射文件 135
本章总结 138
第9章 Hibernate的关系映射 139
9.1 一对多关联映射 140
9.1.1 单向多对一的关联配置 140
9.1.2 单向一对多的关联配置 143
9.1.3 双向一对多的关联配置 146
9.2 多对多关联映射 151
9.3 一对一关联映射 155
9.3.1 外键映射 155
9.3.2 主键映射 157
9.4 Hibernate的数据加载 159
9.4.1 类级别查询策略 160
9.4.2 一对多关联查询策略 161
9.4.3 多对一关联的查询策略 162
9.5 OpenSessionInView模式 163
本章总结 165
第10章 Hibernate的查询 166
10.1 HQL查询 166
10.1.1 如何使用HQL 169
10.1.2 参数绑定 171
10.1.3 投影查询 172
10.1.4 排序 173
10.1.5 分页 173
10.1.6 聚合函数与分组查询 174
10.1.7 子查询 175
10.1.8 表连接 175
10.1.9 内连接 176
10.1.10 左外连接 177
10.1.11 右外连接 178
10.2 QBC查询 179
10.2.1 QBC的使用 179
10.2.2 排序 180
10.2.3 分页查询 180
10.2.4 条件查询 181
10.2.5 Example查询 183
10.2.6 表连接 184
10.2.7 聚合函数 185
10.2.8 DetachedCriteria 186
10.2.9 子查询 188
本章总结 188
第11章 Spring框架(IoC和AOP) 189
11.1 Spring概述 189
11.2 Spring的特征 190
11.3 IoC容器 191
11.3.1 IoC容器中装配Bean 193
11.3.2 使用p命名空间 199
11.3.3 自动注入 200
11.3.4 构造器注入 202
11.3.5 Bean的作用域 203
11.4 AOP概述 205
11.4.1 AOP代理 206
11.4.2 AOP的实现 206
11.4.3 注解实现AOP 207
11.5 Spring注解管理IoC 212
11.5.1 使用注解 212
11.5.2 注解应用案例 212
本章总结 215
第12章 Spring整合Struts2和Hibernate 216
12.1 Spring对ORM框架的支持 216
12.1.1 Spring对于Hibernate3的支持 216
12.1.2 使用HibernateDaoSupport类 217
12.1.3 使用Hibernate3原生API 222
12.1.4 Spring管理事务 222
12.1.5 Spring对Hibernate4的声明式事务管理 224
12.2 Spring和Struts2整合 226
12.2.1 Struts2登录案例 226
12.2.2 Spring整合Struts2步骤 228
本章总结 229
第13章 jQuery和SSH开发书籍管理系统 230
13.1 写在前面的话 230
13.2 项目需求 231
13.3 数据库设计 232
13.4 项目结构 233
13.5 代码实现 233
13.5.1 数据访问层 234
13.5.2 业务层 240
13.5.3 JUnit进行测试 245
13.5.4 使用AOP实现日志 246
13.5.5 控制层 247
13.5.6 返回JSON对象 251
13.5.7 表示层 253
13.6 jQuery 257
13.6.1 使用前准备 258
13.6.2 开始使用 258
13.6.3 选择器 258
13.6.4 事件方法 259
13.6.5 文档操作方法 261
13.6.6 属性操作方法 261
13.6.7 AJAX有关的方法 262
13.6.8 项目jQuery代码 263
本章总结 269