目 录
第1章 概述 1
1.1 Web相关概念 1
1.1.1 胖客户端 1
1.1.2 瘦客户端 2
1.1.3 B/S结构与C/S结构出现 2
1.2 Web开发背景知识 2
1.2.1 Web访问基本原理 2
1.2.2 超文本标记语言 3
1.2.3 Web服务器 3
1.2.4 统一资源定位器 4
1.2.5 Web浏览器 4
1.2.6 超文本传输协议 5
1.3 Web开发技术简史 6
1.3.1 传统Web服务器模式开发 6
1.3.2 动态展现页面技术 7
1.3.3 CGI实现页面的动态生成 7
1.3.4 Java Servlet:改进的CGI 8
1.3.5 JSP:Servlet的模板 9
1.3.6 JSP基本原理 9
1.4 思维梳理 10
1.5 习题 11
第2章 搭建开发环境 12
2.1 搭建JSP开发环境 12
2.1.1 下载JDK 12
2.1.2 安装JDK 14
2.1.3 配置环境变量 17
2.1.4 下载Eclipse 20
2.1.5 启动Eclipse 21
2.1.6 配置工作空间 24
2.1.7 关闭自动更新 28
2.2 搭建JSP运行环境 28
2.2.1 获取 Tomcat 29
2.2.2 启动并访问Tomcat 30
2.2.3 将 Tomcat 整合到 Eclipse 32
2.3 体验Web应用开发 38
2.3.1 创建Web工程 38
2.3.2 部署Web工程 43
2.3.3 启动服务器 45
2.3.4 访问Web应用 46
2.3.5 关闭服务器 47
2.4 思维梳理 48
2.5 习题 48
第3章 开发Servlet程序 49
3.1 认知Servlet技术 49
3.1.1 Java Servlet 49
3.1.2 Servlet容器 50
3.1.3 Servlet 体系 51
3.1.4 请求形式 55
3.2 开发Servlet程序 55
3.2.1 刀耕火种:实现Servlet接口的所有抽象方法 57
3.2.2 擒贼擒王:继承GenericServlet类并重写service方法 64
3.2.3 分而治之:继承HttpServlet类并重写doGet和doPost方法 68
3.2.4 殊途同归:继承HttpServlet类并重写service方法 74
3.3 理解请求/响应过程 78
3.3.1 使用Servlet响应客户端请求 78
3.3.2 容器对请求的处理过程 81
3.4 Servlet生命周期 83
3.4.1 容器对Servlet的两种处理方式 83
3.4.2 总结Servlet生命周期 89
3.5 ServletConfig 90
3.5.1 ServletConfig接口 90
3.5.2 Servlet初始化参数 91
3.6 思维梳理 96
3.7 习题 96
第4章 处理Servlet请求 98
4.1 HTTP请求 98
4.1.1 请求行 98
4.1.2 请求头 100
4.1.3 请求体 102
4.2 ServletRequest 103
ServletRequest接口 103
4.3 获取请求数据 106
4.3.1 解析请求 106
4.3.2 获取请求参数 113
4.4 文件上传 118
4.4.1 获取字节数据 118
4.4.2 解析数据 122
4.4.3 单文件上传 126
4.4.4 多文件上传 127
4.5 思维梳理 130
4.6 习题 130
第5章 Servlet响应 131
5.1 HTTP响应 131
状态行 131
5.2 设置响应 133
5.2.1 设置状态 133
5.2.2 设置响应头 136
5.3 设置响应体 138
5.3.1 发送字符数据 138
5.3.2 发送字节数据 140
5.3.3 生成验证码图片 144
5.4 思维梳理 154
5.5 习题 155
第6章 访问数据库 156
6.1 数据库基础 156
6.1.1 管理数据库 156
6.1.2 管理表 159
6.1.3 管理数据 162
6.2 JDBC概述 165
6.2.1 什么是JDBC 165
6.2.2 JDBC运行原理 165
6.2.3 JDBC Driver 165
6.3 连接数据库 166
6.4 执行SQL语句 167
6.4.1 执行数据定义语言(DDL)语句 167
6.4.2 执行数据操纵语言(DML) 168
6.4.3 执行数据查询语句(DQL) 168
6.4.4 PreparedStatement接口 168
6.4.5 ResultSet 169
6.5 使用开源组件 171
6.5.1 简化属性操作 171
6.5.2 使用数据源 174
6.5.3 简化JDBC操作 179
6.6 思维梳理 186
6.7 习题 187
第7章 过滤器和监听器 188
7.1 过滤器 188
7.2 监听器 192
7.3 思维梳理 194
7.4 习题 194
第8章 JSP核心语法 195
8.1 JSP的本质 195
8.1.1 创建JSP文件 195
8.1.2 访问JSP程序 196
8.1.3 容器对JSP的处理过程 197
8.2 JSP脚本元素 205
8.2.1 JSP指令 205
8.2.2 JSP表达式 212
8.2.3 JSP声明 213
8.2.4 JSP脚本 215
8.2.5 JSP注释 217
8.3 JSP内置对象 217
8.3.1 request对象 219
8.3.2 response对象 219
8.3.3 page对象 219
8.3.4 pageContext 221
8.3.5 out对象 224
8.3.6 config对象 226
8.3.7 exception对象 229
8.3.8 session对象 231
8.4 思维梳理 235
8.5 习题 235
第9章 自定义标签 236
9.1 概述 236
9.2 开发步骤 237
9.2.1 开发标签处理器类 237
9.2.2 定义标签 241
9.2.3 使用标签 242
9.3 处理属性 243
9.3.1 固定属性值 243
9.3.2 动态属性值 247
9.3.3 接收复杂对象 255
9.4 思维梳理 259
9.5 习题 260
第10章 标准标签库 261
10.1 表达式语言 261
10.1.1 运算符 261
10.1.2 访问对象 264
10.2 核心标签库 267
10.2.1 <c:set>标签 268
10.2.2 <c:out>标签 268
10.2.3 <c:remove>标签 269
10.2.4 <c:if>标签 270
10.2.5 <c:choose>标签 270
10.2.6 <c:catch>标签 271
10.2.7 <c:forEach>标签 271
10.3 格式化标签库 273
10.3.1 <fmt:formatNumber>标签 273
10.3.2 <fmt:formatDate>标签 274
10.4 思维梳理 275
10.5 习题 276
附录A @WebServlet属性列表 277
附录B 常用MIME类型 278
附录C page指令的属性 283