第1章 Servlet/JSP概论 1
1.1 客户机/服务器结构 1
1.2 浏览器/服务器结构 2
1.3 Servlet概述 4
1.3.1 什么是Servlet 4
1.3.2 Servlet API 5
1.3.3 Servlet与CGI的比较 9
1.3.4 Servlet的用途 10
1.4 JSP概述 11
1.4.1 什么是JSP 11
1.4.2 JSP的特点 11
1.4.3 JSP与ASP、PHP的比较 12
1.5 小结 14
第2章 运行环境 15
2.1 Web应用程序 15
2.1.1 基本结构 15
2.1.2 配置描述文件 16
2.2 支持Servlet/JSP的服务器 19
2.3 支持Servlet/JSP的开发工具 22
2.4 Tomcat的安装 23
2.4.1 什么是Tomcat 23
2.4.2 安装Tomcat 23
2.4.3 启动与关闭Tomcat 24
2.4.4 Tomcat目录结构 26
2.4.5 Tomcat的脚本 26
2.4.6 Tomcat的配置文件 26
2.4.7 安装Web应用程序 31
2.5 设置Tomcat与Apache Web服务器 31
2.5.1 Tomcat作为服务器的扩展 31
2.5.2 配置文件 32
2.5.3 获取Jserv模块 34
2.5.4 使用Apache响应对静态文件的请求 34
2.6 优化Tomcat的配置 36
2.6.1 定制脚本文件 36
2.6.2 修改缺省的JVM设置 36
2.6.3 修改Connector 37
2.6.4 为Connector配置线程池 37
2.7 小结 39
第3章 Servlet的生命周期 40
3.1 概述 40
3.2 Servlet的加载、实例化、初始化以及卸载 41
3.2.1 加载和实例化 41
3.2.2 初始化 42
3.2.3 卸载 48
3.3 响应请求 50
3.3.1 Servlet的多线程响应模式 50
3.3.2 Servlet的单线程模式 53
3.3.3 出错处理 56
3.4 Servlet的重载 57
3.5 后台线程 58
3.6 小结 61
第4章 HTTP Servlet:接收请求 62
4.1 HTTP概述 62
4.2 Servlet与HTTP 64
4.3 HttpServletRequest接口 65
4.4 请求中的属性 68
4.5 获取HTTP请求的头数据 69
4.6 获取FORM数据 71
4.7 读取URL链接中的参数 76
4.8 从标准输入流读取POST请求数据 77
4.9 上传文件 78
4.10 读取中文数据 84
4.11 小结 85
第5章 HTTP Servlet:产生响应 86
5.1 概述 86
5.2 HttpServletResponse接口 86
5.3 设置HTTP状态码 87
5.3.1 HTTP 1.1状态码概述 87
5.3.2 设置HTTP状态码 89
5.4 设置HTTP响应头 93
5.4.1 设置响应头 93
5.4.2 常用的HTTP响应头 94
5.5 输出响应实体数据 98
5.6 发送多媒体信息 98
5.7 中文输出 103
5.8 小结 104
第6章 使用Cookies 105
6.1 什么是Cookies 105
6.2 Cookies的用途 105
6.3 Servlet Cookie API 106
6.3.1 从请求中获得Cookie 107
6.3.2 创建Cookie 108
6.3.3 读取和设置Cookie属性 108
6.3.4 发送Cookie 109
6.3.5 一个小例子 109
6.4 使用Cookies 112
6.5 使用Cookies应注意的问题 117
6.6 小结 118
第7章 会话管理 119
7.1 什么是会话 119
7.2 HTTP会话跟踪 119
7.2.1 使用远程用户名:REMOTE_USER 119
7.2.2 使用隐藏表单域 120
7.2.3 URL回写 121
7.3 Cookies 121
7.4 Servlet会话跟踪 122
7.4.1 会话跟踪API简介 122
7.4.2 创建会话 124
7.4.3 存取会话属性 127
7.4.4 撤销会话 128
7.4.5 管理会话数据 131
7.4.6 获取所有会话对象 131
7.5 应用实例 132
7.6 会话事件 137
7.7 小结 141
第8章 Servlet的环境 142
8.1 Servlet的初始化数据 142
8.2 Servlet的Context 145
8.3 Servlet与活跃服务器资源的通信 149
8.4 访问非活跃服务器资源 154
8.5 Servlet间的数据共享 157
8.6 监听Web应用程序级事件 159
8.7 小结 160
第9章 JSP语法综述 161
9.1 简介 161
9.2 JSP的编译过程 162
9.3 JSP注释 165
9.4 JSP脚本元素 166
9.4.1 表达式Expression 167
9.4.2 脚本片段Scriptlet 167
9.4.3 声明Declaration 168
9.5 JSP编译指令 169
9.5.1 JSP include指令 169
9.5.2 page指令 171
9.6 隐含对象 172
9.7 JSP操作指令Action 173
9.7.1 jsp:include操作指令 174
9.7.2 jsp:forward操作指令 174
9.7.3 jsp:useBean动作 175
9.7.4 jsp:setProperty 177
9.7.5 jsp:getProperty 179
9.7.6 jsp:plugin 179
9.8 Servlet和JSP间的通信 181
9.8.1 Servlet和JSP间的相互调用 181
9.8.2 Servlet和JSP间的属性共享 181
9.9 JSP应用实例 187
9.10 小结 193
第10章 使用标记扩展机制 194
10.1 概述 194
10.2 TagSupport类和BodyTagSupport类 195
10.3 定义简单标记 197
10.3.1 标记处理类 197
10.3.2 标记库描述文件 198
10.3.3 JSP文件 199
10.4 定义有属性无标记体的标记 200
10.4.1 标记处理类 200
10.4.2 标记描述文件 202
10.4.3 JSP文件 203
10.5 定义有标记体的标记 204
10.5.1 标记处理类 204
10.5.2 标记描述文件 207
10.5.3 JSP文件 207
10.6 处理标记体 208
10.6.1 标记处理类 208
10.6.2 标记描述文件 210
10.6.3 JSP文件 210
10.7 使用嵌套的标记 211
10.7.1 标记处理类 211
10.7.2 标记描述文件 216
10.7.3 JSP文件 217
10.8 使用第三方定义的标记库 219
10.9 小结 219
第11章 JDBC编程技术 220
11.1 JDBC综述 220
11.1.1 JDBC基本概念 220
11.1.2 JDBC驱动程序 220
11.1.3 JDBC使用方法 221
11.2 JDBC程序的编写 222
11.2.1 定义数据库 222
11.2.2 加载驱动程序 223
11.2.3 建立数据库连接 224
11.2.4 管理数据库会话 225
11.2.5 实施静态SQL语句 227
11.2.6 执行预编译SQL语句 229
11.2.7 调用存储过程 230
11.2.8 查询结果集 232
11.2.9 动态数据库访问 236
11.2.10 动态结果集访问 237
11.3 封装JDBC API 237
11.3.1 连接 238
11.3.2 访问 241
11.3.3 测试 247
11.4 小结 252
第12章 Servlet/JSP与Applet通信 253
12.1 通过HTML页面传递Applet参数 253
12.2 使用Socket建立双向通信 255
12.2.1 编写服务程序 255
12.2.2 编写启动服务器程序的Servlet 259
12.2.3 编写使用Socket的客户端程序 263
12.2.4 编写运行客户程序的Applet 265
12.2.5 运行 269
12.2.6 讨论 269
12.3 使用HTTP隧道技术 270
12.3.1 编写服务程序 270
12.3.2 编写使用HTTP隧道的Applet程序 273
12.3.3 运行 275
12.3.4 使用GET方法发送请求 275
12.3.5 讨论 276
12.4 使用RMI 276
12.4.1 远程接口 277
12.4.2 编写服务器程序 279
12.4.3 编写使用RMI的Applet程序 284
12.4.4 运行 285
12.4.5 讨论 286
12.5 小结 286
第13章 安全性 288
13.1 Servlet/JSP引擎提供的安全机制 288
13.1.1 概述 288
13.1.2 描述安全配置 289
13.1.3 在Tomcat中声明安全性 292
13.2 使用服务器内置的认证方式 294
13.2.1 使用HTTP基本鉴权机制 294
13.2.2 使用基于表单的鉴权机制 295
13.3 自定义认证方式 296
13.3.1 用户认证 297
13.3.2 HTML表单认证 302
13.3.3 Applet认证 306
13.4 安全套接字协议层(SSL) 307
13.5 小结 307
第14章 Servlet/JSP的应用模型 308
14.1 概述 308
14.2 Servlet与JSP的整合 309
14.3 层次模型 310
14.3.1 2层应用模型 310
14.3.2 N层应用模型 310
14.4 J2EE中的Servlet/JSP 311
14.5 小结 314
第15章 实例1:网上购书系统 315
15.1 网上购书系统基本架构 315
15.2 创建数据库 315
15.3 登录网上购书系统 318
15.4 增加新用户 321
15.5 进入网上购书系统 325
15.6 购书 327
15.6.1 图书订购 327
15.6.2 图书订购报价单 331
15.7 用户数据维护 335
15.8 系统维护 340
15.8.1 书籍管理 341
15.8.2 订单管理 349
15.8.3 用户管理 350
15.9 小结 351
第16章 实例2:班级网站 352
16.1 班级网站基本架构 352
16.2 创建数据库 353
16.3 来访者计数器 354
16.4 信息发布 355
16.5 来访者留言 360
16.6 BBS 364
16.7 走马灯式新闻 374
16.8 聊天室 376
16.9 小结 381