第一部分 基础篇 3
第1章 Java Web应用概述 3
1.1 认识Web应用 3
1.1.1 Web应用的运行过程(用户的使用过程) 3
1.1.2 Web应用 4
1.1.3 运行环境支持 4
1.1.4 HTML语言 5
1.1.5 HTTP协议 5
1.1.6 特点 6
1.1.7 B/S结构与C/S结构 7
1.1.8 Web应用开发技术 7
1.2 Java Web应用概述 8
1.2.1 Java Web与Java的关系 8
1.2.2 Java Web应用的主要技术 9
1.2.3 能够完成的主要任务 10
1.3 运行环境及开发环境 11
1.3.1 运行环境 11
1.3.2 开发环境 12
1.4 发展历史 14
1.4.1 Servlet技术阶段 14
1.4.2 JSP技术阶段 14
1.4.3 模型1:JSP+JavaBean阶段 15
1.4.4 模型2:JSP+JavaBean+Servlet阶段 15
1.4.5 框架阶段 16
1.4.6 可视化开发 16
小结 16
习题 17
第2章 简单的Web应用实例 18
2.1 动手操作:环境搭建 18
2.1.1 运行环境 18
2.1.2 安装JDK 19
2.1.3 安装Tomcat服务器 22
2.2 实例:登录 26
2.2.1 功能演示 26
2.2.2 创建Web应用 28
2.2.3 编写web.xml 28
2.2.4 页面文件 28
2.2.5 模型JavaBean 30
2.2.6 Servlet控制器 31
2.2.7 运行测试 32
2.3 Web应用文档结构 32
2.4 配置端口、应用、默认应用和欢迎文件 33
2.4.1 配置端口 33
2.4.2 配置应用 33
2.4.3 配置欢迎文件 34
2.5 Servlet运行原理 34
2.6 JSP运行原理 35
2.7 MVC模式 38
2.7.1 分层 38
2.7.2 传值 39
2.7.3 MVC模式在Java Web中的应用 40
2.7.4 如何实现MVC模式 42
小结 43
习题 43
第3章 输入 44
3.1 输入方式 44
3.2 常用表单元素 44
3.2.1 单行文本框 45
3.2.2 密码框 45
3.2.3 单选按钮 46
3.2.4 复选框 46
3.2.5 下拉框 47
3.2.6 文本域 48
3.2.7 “重置”按钮 48
3.2.8 “提交”按钮 49
3.2.9 实例 49
3.3 使用form元素 50
3.3.1 使用form元素封装要提交的信息 50
3.3.2 同一个页面中的多个form 51
3.3.3 实例 51
3.4 对输入信息进行验证 51
3.4.1 JavaScript语言 51
3.4.2 使用表单数据 52
3.4.3 调用验证方法 52
3.4.4 提示用户信息 53
3.4.5 常用的方法 53
3.4.6 正则表达式 55
3.4.7 实例 58
小结 60
习题 60
第4章 业务处理 62
4.1 客户端处理 62
4.1.1 JavaScript处理 62
4.1.2 Ajax技术 67
4.2 JavaBean技术 72
4.2.1 编写JavaBean 72
4.2.2 部署 74
4.2.3 使用JavaBean 75
4.2.4 在Java代码中访问已有的JavaBean 79
4.3 自定义标签 80
4.3.1 简单标签库的编写 81
4.3.2 具有属性的标签的编写 83
4.3.3 具有标签体的标签 85
4.3.4 对标签体进行处理 86
4.3.5 使用简单标记 88
小结 89
习题 89
第5章 输出 91
5.1 EL 91
5.1.1 EL的基本语法格式 92
5.1.2 运算符 92
5.1.3 隐含对象 93
5.1.4 变量的作用范围 95
5.2 输出信息 95
5.3 条件输出 96
5.3.1 <c:if>标签 96
5.3.2 <c:choose>、<c:when>和<c:otherwise> 96
5.4 循环输出 97
5.4.1 <c:forEach>标签 97
5.4.2 输出集合信息 98
5.5 对JSTL中的fn函数库进行控制和处理 99
5.6 输出信息的格式化 103
5.6.1 CSS 103
5.6.2 JSTL fmt标签库 105
5.6.3 日期格式化 105
5.6.4 数字格式化 106
5.7 对输入元素进行初始化 107
5.8 动态生成表单元素 108
小结 111
习题 111
第6章 Servlet与控制器 113
6.1 Servlet概述 113
6.1.1 什么是Servlet 113
6.1.2 Servlet的主要方法 115
6.1.3 编写简单的Servlet 115
6.1.4 控制器与Servlet 118
6.2 接收信息 118
6.3 验证信息 122
6.4 转换信息 127
6.5 调用业务逻辑 127
6.6 响应 128
6.6.1 从控制层向视图层传值 128
6.6.2 转向 128
6.7 采用JSP页面完成控制 129
6.7.1 使用<jsp:forward>完成跳转 129
6.7.2 使用<jsp:include>完成跳转 130
小结 131
习题 131
第7章 请求与响应 133
7.1 请求与request对象 133
7.1.1 HTTP请求信息 133
7.1.2 request对象 134
7.2 response与响应 134
7.2.1 响应 135
7.2.2 response对象 136
7.3 Servlet过滤器 138
7.3.1 Servlet过滤器简介 138
7.3.2 Servlet过滤器的编写 138
7.3.3 Servlet过滤器配置 139
7.3.4 串联Servlet过滤器 140
7.4 Servlet监听器 140
7.4.1 监听器类 140
7.4.2 指定事件监听器类 142
小结 142
习题 142
第8章 动态信息的存储与访问 143
8.1 内存中保存信息 144
8.1.1 内存中保存信息的方式 144
8.1.2 application对象 146
8.1.3 session 147
8.1.4 request 148
8.1.5 相邻页面之间共享信息 149
8.1.6 使用隐藏域传递参数 149
8.1.7 使用请求字符串传递信息 151
8.2 客户端保存:Cookie 152
8.2.1 Cookie的基本用法 152
8.2.2 Cookie的主要方法 153
8.2.3 实例:记录登录信息 153
8.3 使用web.xml存储信息 154
8.3.1 应用配置信息 154
8.3.2 Servlet初始化信息 155
8.4 使用XML文件 155
8.4.1 DOM规范 155
8.4.2 SAX技术 156
8.4.3 JAXP规范 156
8.4.4 实例:使用DOM解析 158
8.4.5 实例:使用SAX解析 161
8.5 使用属性文件 163
8.5.1 properties属性文件 164
8.5.2 Java属性文件 164
8.5.3 访问属性文件 165
8.5.4 实例 165
8.6 使用Excel文件 166
8.6.1 对Excel操作的基本过程 166
8.6.2 向Excel写信息 167
8.6.3 实例 168
小结 170
习题 171
第9章 JDBC技术 172
9.1 JDBC概述 172
9.1.1 JDBC的工作原理 173
9.1.2 JDBC的分类 173
9.1.3 主要接口 175
9.1.4 结果集 175
9.2 连接数据库的基本过程 177
9.3 连接池 182
9.4 使用标准标签库中的SQL标签 185
9.5 增删改查实例:用户管理 190
9.5.1 运行效果 190
9.5.2 文件及其跳转关系 194
9.5.3 用户列表界面 194
9.5.4 用户信息修改界面 197
9.5.5 用户信息管理Bean 198
9.5.6 删除用户的控制器 209
9.5.7 修改用户的控制器 210
9.5.8 添加用户的控制器 211
9.5.9 获取所有用户的控制器 212
9.6 批量处理 213
9.6.1 使用PreparedStatement 213
9.6.2 使用批处理 215
9.7 图片处理 216
9.7.1 图片的存储 216
9.7.2 图片的显示 217
9.8 存储过程 219
9.8.1 存储过程的编写 219
9.8.2 存储过程的访问 220
9.8.3 实例 220
9.9 简单事务处理 223
9.9.1 事务概述 223
9.9.2 使用JDBC接口进行事务处理 223
9.9.3 实例 224
小结 225
习题 225
第10章 简单实例 228
10.1 简单聊天室 228
10.1.1 聊天信息的存储 228
10.1.2 聊天信息的表示 228
10.1.3 聊天信息的管理 229
10.1.4 聊天页面 230
10.1.5 Servlet控制器 232
10.1.6 登录界面及控制器 233
10.2 简单购物车 235
10.2.1 用户上网购物的一般过程 235
10.2.2 购物车信息组织 236
10.2.3 物品信息显示功能 239
10.2.4 向购物车中添加物品 242
10.2.5 购物车的其他功能 245
10.2.6 生成订单 248
小结 248
第二部分 提高篇 251
第11章 集成开发环境 251
11.1 在NetBeans IDE中开发Web应用 251
11.1.1 创建Web应用 251
11.1.2 创建包及JavaBean 253
11.1.3 创建JSP文件 255
11.1.4 创建Servlet 260
11.1.5 部署和访问 264
11.2 在Eclipse+MyEclipse中开发Web应用 264
11.2.1 配置应用服务器 265
11.2.2 测试配置的服务器 265
11.2.3 创建Web工程 266
11.2.4 部署Web应用 267
11.2.5 创建JSP文件 269
11.2.6 在MyEclipse中开发Servlet 270
第12章 使用Ant管理Web应用 274
12.1 Ant概述 274
12.2 build文件 274
12.3 常用任务 276
12.3.1 echo 276
12.3.2 Delete 277
12.3.3 copy 278
12.3.4 javac 279
12.3.5 Mkdir 280
12.3.6 war 281
12.3.7 fileset 283
12.4 实例 284
第13章 使用CVS进行版本控制 286
13.1 版本控制概述 286
13.1.1 版本控制的目的 286
13.1.2 版本控制的主要操作 286
13.1.3 流行的版本控制工具 287
13.2 Eclipse中CVS的使用 288
13.2.1 cvsnt的下载 288
13.2.2 cvsnt的安装 288
13.2.3 CVS服务器配置 290
13.2.4 在系统中添加用户 292
13.2.5 Eclipse中CVS资源的配置 292
13.2.6 把项目共享到CVS服务器 294
13.2.7 从CVS服务器下载项目 295
13.2.8 比较本地目录与服务器上目录之间的区别 299
13.2.9 提交新的文件 299
13.2.10 比较服务器文件与本地文件之间的区别 301
13.2.11 提交修改后的文件 302
13.2.12 下载最新版本 303
第14章 程序调试 304
14.1 错误类型 304
14.2 常见编译错误 305
14.2.1 Java文件中的常见编译错误 305
14.2.2 JSP文件中的常见编译错误 307
14.3 特殊类型的错误 308
14.4 运行期错误和逻辑错误的调试 310
14.5 在集成开发环境Eclipse中的调试 311
第15章 测试 314
15.1 使用JUnit进行Java代码测试 314
15.1.1 概述 314
15.1.2 主要接口 314
15.1.3 使用过程 315
15.1.4 实例 318
15.2 使用Cactus进行Servlet测试 319
15.2.1 搭建环境 319
15.2.2 编写类 320
15.2.3 编写方法 321
15.2.4 设置参数 323
15.2.5 运行 325
15.2.6 实例 326
第16章 日志处理 330
16.1 概述 330
16.2 配置 330
16.3 初始化 332
16.4 调用 333
16.5 扩展知识 334
第17章 系统安全控制 335
17.1 概述 335
17.1.1 安全的层次 335
17.1.2 安全的实现方式 336
17.1.3 登录功能 336
17.2 基本的安全控制 338
17.2.1 视图的安全控制 338
17.2.2 对控制器进行安全控制 339
17.3 使用过滤器进行安全控制 340
17.3.1 Servlet过滤器简介 340
17.3.2 创建Servlet过滤器 340
17.3.3 配置过滤器 342
17.4 采用专门的安全控制页面 342
17.4.1 编写专门文件 343
17.4.2 修改图书添加界面代码 343
17.4.3 <jsp:include>标签和<%@include%>指令 343
17.5 进行集中的安全控制 344
17.6 页面的局部安全要求 344
17.7 增加图形验证码 345
17.7.1 图形验证码的作用 345
17.7.2 图形验证码的实现原理 345
17.8 MD5加密 348
第18章 国际化 351
18.1 目标演示 351
18.1.1 功能描述 351
18.1.2 运行效果 351
18.1.3 思路分析 351
18.2 编写资源文件 353
18.2.1 资源文件内容的确定 353
18.2.2 资源文件的格式 353
18.2.3 转换成Unicode编码 354
18.2.4 资源文件的名字 355
18.2.5 资源文件的部署 356
18.2.6 用户管理的资源文件 356
18.3 实现用户管理界面的国际化 359
18.3.1 设置所使用的语言 359
18.3.2 确定要访问的资源文件 360
18.3.3 访问资源文件中的内容 361
18.3.4 添加语言选择功能 363
18.3.5 修改后的文件 363
第19章 技术专题 366
19.1 访问路径问题 366
19.2 结果集处理 368
19.3 复杂查询 370
19.3.1 根据某个特定的字段进行查询 370
19.3.2 在多个字段中查询 371
19.3.3 根据任意字段查询 372
19.3.4 任意组合查询 373
19.3.5 多值查询 374
19.4 分页显示 374
19.4.1 在界面中分页显示 374
19.4.2 模型中实现分页显示 376
19.4.3 通过SQL语句完成分页 377
附录A 使用MySQL 378
A.1 MySQL数据库的下载 378
A.2 MySQL数据库的安装 378
A.3 MySQL数据库的常用操作 383
参考文献 389