第1章 Java Web入门 1
任务驱动 1
学习路线 1
本章目标 1
1.1 Web应用概述 2
1.1.1 Web应用简介 2
1.1.2 Web应用架构 4
1.1.3 Web应用运行过程 5
1.1.4 Java Web应用优势 5
1.2 Java Web应用开发 6
1.2.1 JDK的安装与配置 6
1.2.2 Eclipse的安装 7
1.2.3 Tomcat的安装 8
1.2.4 Eclipse中的Tomcat配置 12
1.2.5 第一个Java Web项目 15
1.3 课程贯穿项目 24
1.3.1 【任务1-1】项目需求分析 24
1.3.2 【任务1-2】项目数据库设计 26
1.3.3 【任务1-3】项目开发环境搭建 28
1.3.4 【任务1-4】项目所需工具类设计 29
本章小结 30
小结 30
Q&A 30
本章练习 31
习题 31
上机 32
第2章 Servlet基础 33
任务驱动 33
学习路线 33
本章目标 33
2.1 Servlet概述 34
2.1.1 Servlet简介 34
2.1.2 Servlet体系结构 35
2.1.3 Servlet生命周期 41
2.2 Servlet创建 43
2.2.1 创建Java Web项目 43
2.2.2 创建Servlet 45
2.2.3 Servlet的声明配置 48
2.2.4 Servlet的部署运行 50
2.2.5 Servlet 2.5 项目创建 53
2.3 Servlet应用 55
2.3.1 数据处理 55
2.3.2 重定向与请求转发 60
2.4 Servlet 3.0特性 66
2.4.1 注解支持 66
2.4.2 可插性支持 66
2.4.3 动态配置 68
2.4.4 异步处理 69
2.5 贯穿任务实现 72
2.5.1 【任务2-1】求职者注册 72
2.5.2 【任务2-2】求职者登录 77
本章总结 82
小结 82
Q&A 83
本章练习 84
习题 84
上机 85
第3章 Servlet核心接口 86
任务驱动 86
学习路线 86
本章目标 86
3.1 Servlet核心接口 87
3.2 ServletConfig接口 87
3.3 ServletContext接口 89
3.3.1 获取应用初始化参数 89
3.3.2 存取应用域属性 91
3.3.3 获取应用信息 92
3.3.4 获取容器信息 94
3.3.5 获取服务器文件资源 95
3.4 HttpServletRequest接口 97
3.4.1 获取请求行信息 97
3.4.2 获取请求头信息 99
3.4.3 获取请求正文 102
3.4.4 请求参数的中文问题 104
3.4.5 获取网络连接信息 107
3.4.6 存取请求域属性 109
3.5 HttpServletResponse接口 110
3.5.1 设置响应状态 110
3.5.2 构建响应消息头 112
3.5.3 创建响应正文 114
3.5.4 响应输出中文问题 116
3.6 贯穿任务实现 116
3.6.1 【任务3-1】简历信息添加 116
3.6.2 【任务3-2】简历照片上传 124
3.6.3 【任务3-3】注册验证码生成 129
本章总结 132
小结 132
Q&A 133
本章练习 134
习题 134
上机 136
第4章 会话跟踪 137
任务驱动 137
学习路线 137
本章目标 137
4.1 无状态的HTTP协议 137
4.2 会话跟踪技术 138
4.2.1 Cookie技术 138
4.2.2 Session技术 142
4.2.3 URL重写技术 146
4.2.4 隐藏表单域 149
4.3 贯穿任务实现 150
4.3.1 【任务4-1】完善注册验证码功能 150
4.3.2 【任务4-2】完善登录功能 153
4.3.3 【任务4-3】完善简历添加功能 154
4.3.4 【任务4-4】使用Cookie记住登录信息 157
本章总结 161
小结 161
Q&A 162
本章练习 163
习题 163
上机 164
第5章 JSP语法 165
任务驱动 165
学习路线 165
本章目标 165
5.1 JSP概述 166
5.1.1 JSP简介 166
5.1.2 第一个JSP程序 166
5.1.3 JSP执行原理 168
5.1.4 JSP基本结构 170
5.2 脚本元素 171
5.2.1 JSP脚本 171
5.2.2 JSP表达式 173
5.2.3 JSP声明 174
5.2.4 JSP注释 176
5.3 指令元素 177
5.3.1 page指令 178
5.3.2 include指令 180
5.3.3 taglib指令 184
5.4 动作元素 184
5.4.1 <jsp:include> 185
5.4.2 <jsp:forward> 187
5.4.3 <jsp:useBean> 188
5.4.4 <jsp:setProperty> 189
5.4.5 <jsp:getProperty> 189
5.5 贯穿任务实现 190
5.5.1 【任务5-1】首页招聘企业展示 190
5.5.2 【任务5-2】公共头页面的包含 195
本章总结 195
小结 195
Q&A 196
本章练习 197
习题 197
上机 198
第6章 JSP内置对象 199
任务驱动 199
学习路线 199
本章目标 199
6.1 内置对象简介 200
6.2 与Input/Output有关的内置对象 200
6.2.1 request 200
6.2.2 response 204
6.2.3 out 206
6.3 与Context有关的内置对象 209
6.3.1 session 209
6.3.2 application 212
6.3.3 pageContext 214
6.4 与Servlet有关的内置对象 214
6.4.1 page 215
6.4.2 config 215
6.5 与Error有关的内置对象 216
6.6 JSP的4种作用域 218
6.7 贯穿任务实现 220
6.7.1 【任务6-1】企业详情展示 220
6.7.2 【任务6-2】用户登录状态判断和退出 227
6.7.3 【任务6-3】网站页面异常处理 229
本章总结 230
小结 230
Q&A 231
本章练习 232
习题 232
上机 232
第7章 JSP与JavaBean 234
任务驱动 234
学习路线 234
本章目标 234
7.1 JavaBean概述 235
7.1.1 JavaBean简介 235
7.1.2 JavaBean规范 235
7.2 在JSP中使用JavaBean 237
7.2.1 <jsp:useBean>元素 238
7.2.2 <jsp:setProperty>元素 239
7.2.3 <jsp:getProperty>元素 241
7.3 JavaBean应用 241
7.4 贯穿任务实现 247
7.4.1 【任务7-1】简历信息展示 247
7.4.2 【任务7-2】简历信息修改 252
7.4.3 【任务7-3】首页企业信息分页展示 259
本章总结 263
小结 263
Q&A 264
本章练习 264
习题 264
上机 265
第8章 表达式语言 266
任务驱动 266
学习路线 266
本章目标 266
8.1 EL简介 267
8.2 EL语法 267
8.2.1 EL中的常量 268
8.2.2 EL中的变量 268
8.2.3 EL中的.和[]操作符 268
8.2.4 EL的错误处理机制 269
8.3 EL隐含对象 269
8.3.1 与范围有关的隐含对象 270
8.3.2 与请求参数有关的隐含对象 272
8.3.3 其他隐含对象 272
8.4 EL运算符 274
8.4.1 算术运算符 274
8.4.2 关系运算符 275
8.4.3 逻辑运算符 275
8.4.4 条件运算符 275
8.4.5 empty运算符 276
8.4.6 运算符优先级 276
8.5 EL自定义函数 276
8.6 贯穿任务实现 280
8.6.1 【任务8-1】职位详情展示 280
8.6.2 【任务8-2】网站头文件代码重构 284
本章总结 285
小结 285
Q&A 285
本章练习 286
习题 286
上机 286
第9章 标准标签库 288
任务驱动 288
学习路线 288
本章目标 288
9.1 JSTL简介 289
9.1.1 JSTL函数库分类 289
9.1.2 JSTL的安装使用 290
9.2 核心标签库 291
9.2.1 通用标签 292
9.2.2 条件标签 294
9.2.3 迭代标签 296
9.2.4 URL相关标签 298
9.3 I18N标签库 300
9.3.1 国际化标签 301
9.3.2 格式化标签 304
9.4 函数标签库 306
9.5 自定义标签库 308
9.6 贯穿任务实现 310
9.6.1 【任务9-1】首页代码重构 310
9.6.2 【任务9-2】申请职位展示 312
本章总结 318
小结 318
Q&A 318
本章练习 319
习题 319
上机 320
第10章 Filter与Listener 321
任务驱动 321
学习路线 321
本章目标 321
10.1 过滤器 322
10.1.1 过滤器简介 322
10.1.2 过滤器核心接口 323
10.1.3 过滤器开发 324
10.1.4 过滤器声明配置 328
10.1.5 过滤器应用 330
10.2 监听器 336
10.2.1 监听器简介 336
10.2.2 与Servlet上下文相关的监听器 337
10.2.3 与会话相关的监听器 343
10.2.4 与请求相关的监听器 350
10.3 贯穿任务实现 354
10.3.1 【任务10-1】求职者访问权限过滤 354
10.3.2 【任务10-2】企业信息浏览次数监听 357
本章总结 359
小结 359
Q&A 360
本章练习 361
习题 361
上机 361
第11章 MVC模式 363
任务驱动 363
学习路线 363
本章目标 363
11.1 MVC模式 363
11.2 Java Web开发模式 365
11.2.1 Model 1模式 365
11.2.2 Model 1模式应用示例 366
11.2.3 Model 2模式 371
11.2.4 Model 2模式应用示例 372
11.3 贯穿任务实现 377
11.3.1 【任务11-1】使用MVC模式重构简历修改 377
11.3.2 【任务11-2】使用MVC模式重构首页 381
本章总结 384
小结 384
Q&A 384
本章练习 384
习题 384
上机 385
第12章 Ajax技术 386
任务驱动 386
学习路线 386
本章目标 386
12.1 Ajax技术 387
12.1.1 Ajax简介 387
12.1.2 XMLHttpRequest介绍 389
12.1.3 XMLHttpRequest的属性 389
12.1.4 XMLHttpRequest的方法 391
12.1.5 Ajax示例 392
12.2 JSON技术 395
12.2.1 JSON简介 395
12.2.2 JSON在JavaScript中的使用 397
12.2.3 JSON在Ajax中的使用 398
12.3 jQuery技术 403
12.3.1 jQuery简介 403
12.3.2 jQuery对Ajax的实现 404
12.3.3 基于jQuery的Ajax应用 408
12.4 贯穿任务实现 409
【任务12-1】注册邮箱的唯一性验证 409
本章总结 411
小结 411
Q&A 412
本章练习 412
习题 412
上机 413
附录A JDK的安装配置 414
A.1 下载JDK 414
A.2 安装JDK 415
A.3 配置环境变量 416
附录B Eclipse的安装配置 419
B.1 下载Eclipse 419
B.2 安装Eclipse 419
B.3 选择Eclipse工作区 420
B.4 Eclipse启动 420
附录C HTTP响应状态码及其含义 423