第一部分 Java Web开发基础 2
第1章 搭建Java Web开发环境 2
1.1 基于B/S结构的Web应用 2
1.2 JDK安装与配置 2
1.3 服务器Tomcat下载与安装 3
1.4 Eclipse安装与使用 3
1.4.1 Eclipse下载及创建DynamicWeb Project 3
1.4.2 Eclipse中的编码问题 4
1.4.3 将Tomcat和Eclipse相关联 6
1.4.4 Eclipse自动部署项目到Tomcat的webapps目录 7
1.5 MySQL安装配置与使用 9
1.6 PostgreSQL安装与使用 13
1.6.1 PostgreSQL下载与安装 13
1.6.2 使用pgAdmin Ⅲ连接PostgreSQL 13
1.6.3 使用pgAdmin Ⅲ创建数据库 14
1.7 Navicat Premium安装与使用 14
1.8 本章小结 16
习题1 17
第2章 Servlet编程 18
2.1 Servlet简介 18
2.2 Servlet基础 19
2.2.1 用记事本写一个Servlet 19
2.2.2 Servlet体系结构 20
2.2.3 Servlet接口 20
2.2.4 Servlet生命周期 21
2.2.5 Servlet生命周期示例 22
2.3 Servlet API编程常用接口和类 25
2.3.1 GenericServlet类 25
2.3.2 HttpServlet类 26
2.3.3 ServletConfig接口 27
2.3.4 HttpServletRequest接口 29
2.3.5 HttpServletResponse接口 31
2.3.6 ServletContext接口 32
2.4 Servlet处理表单数据 35
2.5 Servlet重定向和请求转发 36
2.5.1 重定向 36
2.5.2 请求转发 37
2.5.3 Servlet中请求转发时forword()和include()的区别 38
2.6 Servlet数据库访问 40
2.6.1 JDBC基础 40
2.6.2 创建测试数据 40
2.6.3 访问数据库 40
2.7 Servlet异常处理 41
2.8 异步Servlet 45
2.9 本章小结 46
习题2 47
第3章 JSP语言基础 48
3.1 JSP基本语法 48
3.1.1 JSP简介 48
3.1.2 JSP运行机制 48
3.1.3 第一个JSP程序 49
3.1.4 JSP指令 49
3.1.5 JSP脚本 51
3.1.6 JSP注释 52
3.2 JSP动作元素 52
3.3 JSP内置对象 53
3.4 JSP综合示例 57
3.5 本章小结 57
习题3 58
第4章 会话管理 59
4.1 Cookies 59
4.1.1 Cookie剖析 59
4.1.2 在Servlet中操作Cookie 59
4.1.3 Cookie API 60
4.1.4 使用Cookie示例 60
4.2 HttpSession对象 62
4.2.1 Session简介 62
4.2.2 HttpSessionAPI 62
4.2.3 使用HttpSession示例 63
4.3 URL重写 65
4.3.1 为什么需要URL重写 65
4.3.2 encodeURL()和encodeRedirectURL() 65
4.3.3 使用URL重写示例 66
4.4 隐藏表单域 66
4.5 本章小结 66
习题4 67
第5章 EL和JSTL 68
5.1 JSP表达式语言 68
5.1.1 EL简介 68
5.1.2 EL的运算符和优先级 69
5.1.3 EL隐式对象 70
5.1.4 定义和使用EL函数 74
5.2 JSP标准标签库 75
5.2.1 JSTL简介 75
5.2.2 JSTL安装与配置 76
5.2.3 核心标签库 76
5.3 本章小结 79
习题5 80
第6章 过滤器与监听器 81
6.1 Servlet过滤器 81
6.1.1 Filter工作原理 81
6.1.2 Filter核心接口 81
6.1.3 Filter生命周期 82
6.1.4 Filter配置 82
6.1.5 Filter应用 83
6.2 Servlet监听器 86
6.2.1 Servlet监听器概述 86
6.2.2 Servlet上下文监听 86
6.2.3 HTTP会话监听 89
6.2.4 Servlet请求监听 92
6.3 本章小结 94
习题6 94
第7章 AJAX技术 95
7.1 实现AJAX应用的一般步骤 95
7.2 使用XMLHttpRequest对象 96
7.2.1 创建XMLHttpRequest对象 96
7.2.2 XMLHttpRequest对象的常用属性和事件 96
7.2.3 XMLHttpRequest对象的常用方法 97
7.3 AJAX示例 98
7.3.1 更改文本内容 98
7.3.2 查询项目信息 100
7.3.3 验证注册邮箱格式和唯一性 101
7.4 本章小结 104
习题7 104
第8章 Maven 105
8.1 初识Maven 105
8.2 Maven的安装和配置 107
8.3 Maven使用 110
8.4 坐标和依赖 111
8.5 本章小结 112
习题8 113
第9章 jQuery EasyUI 114
9.1 jQuery基础 114
9.1.1 初识jQuery 114
9.1.2 jQuery选择器 116
9.1.3 jQuery事件 116
9.1.4 jQuery AJAX 117
9.2 jQuery EasyUI 120
9.3 jQuery EasyUI布局 121
9.3.1 创建边框布局 121
9.3.2 在面板中创建复杂布局 122
9.3.3 创建折叠面板 123
9.3.4 创建标签页 124
9.3.5 动态添加标签页 124
9.4 jQuery EasyUI数据网格 125
9.4.1 转换HTML表格为数据网格 125
9.4.2 取得选中行数据 126
9.4.3 创建复杂工具栏 128
9.4.4 自定义分页 129
9.5 本章小结 130
习题9 130
第二部分 MyBatis 133
第10章 MyBatis入门 133
10.1 从JDBC到MyBatis 133
10.2 第一个MyBatis示例 135
10.2.1 创建Maven项目 135
10.2.2 准备数据 137
10.2.3 MyBatis配置 137
10.2.4 创建实体类 138
10.2.5 创建映射接口和SQL映射文件 139
10.2.6 配置Log4j 139
10.2.7 测试 139
10.3 MyBatis框架原理 140
10.3.1 MyBatis整体架构 141
10.3.2 MyBatis运行原理 141
10.4 MyBatis核心组件的生命周期 143
10.4.1 SqlSessionFactoryBuilder 143
10.4.2 SqlSessionFactory 143
10.4.3 SqlSession 143
10.4.4 Mapper Instances 143
10.5 本章小结 144
习题10 144
第11章 配置和映射 145
11.1 示例:实现表数据的增、删、改、查 145
11.2 MyBatis主配置文件 150
11.3 XML映射文件 154
11.4 高级结果映射 161
11.4.1 示例说明 161
11.4.2 一对一映射 165
11.4.3 一对多映射 168
11.4.4 多对多关联 172
11.5 本章小结 176
习题11 176
第12章 动态SQL 177
12.1 示例:使用动态SQL 177
12.2 if 179
12.3 choose、when、otherwise 182
12.4 where、set、trim 183
12.5 foreach 188
12.6 bind 189
12.7 本章小结 190
习题12 190
第13章 MyBatis其他 191
13.1 MyBatis注解方式 191
13.1.1 使用注解方式实现表数据的增、删、改、查 191
13.1.2 使用注解的动态SQL 195
13.2 MyBatis缓存配置 201
13.2.1 一级缓存(SqlSession层面) 201
13.2.2 二级缓存(SqlSessionFactory层面) 204
13.3 本章小结 207
习题13 208
第14章 MyBatis应用 209
14.1 示例总体介绍 209
14.1.1 任务说明和准备数据 209
14.1.2 总体框架 210
14.1.3 程序主要流程 210
14.2 典型代码及技术要点 211
14.2.1 通用功能包的类实现 211
14.2.2 控制层 211
14.2.3 业务层及使用FastJson 212
14.2.4 数据层及JNDI数据源 214
14.2.5 部署发布 216
14.2.6 使用Jackson和手工拼凑JSON 216
14.3 本章小结 216
习题14 217
第三部分 Spring MVC 219
第15章 Spring基础 219
15.1 Spring入门 219
15.1.1 Spring概述 219
15.1.2 使用Spring容器 222
15.2 依赖注入 224
15.3 Spring容器中的Bean 228
15.4 容器中 Bean的生命周期 231
15.5 两种后处理器 232
15.5.1 Bean后处理器 232
15.5.2 容器后处理器 233
15.6 装配Spring Bean 233
15.6.1 通过XML配置装配Bean 234
15.6.2 通过注解装配Bean 234
15.6.3 自动装配和精确装配 236
15.7 Spring的AOP 237
15.8 本章小结 238
习题15 238
第16章 Spring MVC入门 239
16.1 Spring MVC概述 239
16.2 Spring MVC入门示例1:Hello,Spring MVC! 239
16.2.1 创建Maven项目 239
16.2.2 pom.xml 240
16.2.3 Web应用部署描述文件Web.xml 242
16.2.4 Spring MVC配置文件 243
16.2.5 基于Controller接口的控制器 243
16.2.6 视图 244
16.2.7 部署发布项目 244
16.3 Spring MVC入门示例2:表单提交 245
16.3.1 创建 Maven项目 245
16.3.2 编码过滤器 245
16.3.3 表单提交及相应配置 246
16.3.4 测试应用 248
16.4 Spring MVC入门示例3:基于注解 248
16.4.1 创建Maven项目 248
16.4.2 创建控制器并添加注解 248
16.4.3 视图解析器 249
16.4.4 测试应用 250
16.5 Spring MVC的工作流程 250
16.6 本章小结 251
习题16 251
第17章 基于注解的控制器 252
17.1 Spring MVC常用注解 252
17.1.1 @Controller和@RequestMapping 252
17.1.2 @Autowired和@Service 254
17.1.3 @RequestParam和@PathVariable 254
17.1.4 @CookieValue和@RequestHeader 255
17.2 在Spring MVC中处理模型数据 256
17.2.1 数据模型 256
17.2.2 ModelAndView 257
17.2.3 Map及Model 258
17.2.4 @SessionAttributes 259
17.2.5 @ModelAttribute 260
17.3 基于注解的控制器示例1 264
17.3.1 创建AnnotationDemo 1工程 264
17.3.2 创建控制器并添加注解 264
17.3.3 测试应用 265
17.4 基于注解的控制器示例2 265
17.4.1 创建AnnotationDemo2工程 265
17.4.2 应用@Autowired和@Service进行依赖注入 266
17.4.3 重定向 268
17.4.4 测试应用 268
17.5 本章小结 269
习题17 269
第18章 拦截器、数据转换和格式化 270
18.1 Spring MVC的拦截器 270
18.1.1 拦截器的定义和注册 270
18.1.2 拦截器的执行流程 272
18.1.3 多个拦截器执行的顺序 275
18.1.4 拦截器应用 276
18.2 Spring MVC的数据转换和格式化 279
18.2.1 Spring MVC消息转换流程 280
18.2.2 Spring MVC的数据绑定 280
18.2.3 Spring MVC的数据转换 285
18.2.4 Spring MVC的数据格式化 288
18.2.5 JSON格式的数据转换 290
18.3 本章小结 296
习题18 296
第19章 Spring MVC其他 297
19.1 Spring MVC的表单标签库 297
19.2 表单验证 308
19.2.1 Spring验证 309
19.2.2 JSR 303验证 311
19.3 Spring MVC的文件上传和下载 312
19.3.1 文件上传 312
19.3.2 文件下载 315
19.4 Spring MVC的国际化 316
19.5 本章小结 319
习题19 319
第20章 Spring MVC+MyBatis应用 320
20.1 项目总体介绍 320
20.1.1 项目简介及任务说明 320
20.1.2 准备数据 321
20.1.3 总体框架 321
20.2 典型代码及技术要点 321
20.2.1 登录模块及Kaptcha验证码组件 321
20.2.2 系统管理界面 326
20.2.3 系统用户管理 329
20.2.4 功能模块管理 333
20.3 本章小结 334
习题20 334
参考文献 335