第1章 简介Web应用程序 1
1.1 Web应用程序架构 2
1.1.1 Web网站的组成 2
1.1.2 HTTP通信协议 5
1.1.3静态页面和动态页面 8
1.1.4客户端程序和服务器端程序 10
1.2 Servlet/JSP简介 11
1.2.1 Servlet的运行概念 11
1.2.2 Servlet与JSP的关系 14
1.2.3 Java EE简介 17
1.3重点复习 19
课后练习 20
第2章 开发简单的Servlet & JSP 23
2.1从Servlet到Web容器 24
2.1.1从Servlet的编写认识HttpServlet 24
2.1.2设置部署描述文件 27
2.1.3 Web应用程序文件组织 29
2.1.4 WAR的创建与部署 30
2.2在HelloServlet之后 31
2.2.1 Web容器的作用 32
2.2.2 MVC与Model 2简介 34
2.2.3简单的Model 2程序 37
2.3重点复习 40
课后练习 42
实训题 44
第3章HTTP请求、响应处理 45
3.1 HttpServletRequest的使用 46
3.1.1请求信息的取得 46
3.1.2中文处理问题 50
3.1.3请求转发与包含 53
3.1.4 ServletRequest属性 54
3.2 HttpServletResponse的应用 56
3.2.1对浏览器进行响应 56
3.2.2 sendRedirect()与sendError() 58
3.2.3 ServletOutputStream的使用 59
3.3综合练习/在线书签 61
3.3.1在线书签应用程序分析 61
3.3.2查看书签 62
3.3.3添加书签 64
3.4重点复习 68
课后练习 70
实训题 72
第4章ServletConfiig与ServletContext 73
4.1关于ServletConfiig 74
4.1.1 Servlet生命周期 74
4.1.2 Servlet初始参数的设置和取得 76
4.2关于ServletContext 79
4.2.1 ServletContext简介 79
4.2.2 ServletContext初始参数 82
4.2.3 ServletContextListener 82
4.2.4 ServletContext属性 84
4.3综合练习/在线书签 85
4.3.1书签记录文件的加载 86
4.3.2修改“查看书签”功能 87
4.3.3修改“添加书签”功能 88
4.3.4动态“添加书签”窗体 91
4.4重点复习 94
课后练习 96
实训题 99
第5章 会话管理 101
5.1会话管理的基本原理 102
5.1.1隐藏字段的使用 102
5.1.2 Cookie的使用 105
5.1.3 URL重写的使用 110
5.2 HttpSession会话管理 112
5.2.1 HttpSession的使用 112
5.2.2 HttpSession会话管理原理 116
5.2.3 HttpSession与URL重写 118
5.3重点复习 120
课后练习 122
实训题 124
第6章 过滤器与封装器 125
6.1过滤器服务 126
6.1.1过滤器的概念 126
6.1.2过滤器的实现 128
6.1.3过滤器的设置 131
6.2搭配封装器 133
6.2.1请求封装器 133
6.2.2响应封装器 137
6.3综合练习/在线书签 141
6.3.1书签服务对象的实现 141
6.3.2在线书签应用程序的重构 144
6.3.3登录验证过滤器的实现 147
6.3.4字符过滤器的使用 149
6.4重点复习 150
课后练习 152
实训题 155
第7章 监听器、部署描述设置 157
7.1监听器 158
7.1.1生命周期监听器 158
7.1.2属性操作监听器 162
7.1.3会话属性类监听器 163
7.2部署描述设置 166
7.2.1 Servlet的设置 166
7.2.2设置欢迎与错误处理页面 169
7.2.3 MIME与扩展名的对应 170
7.3重点复习 171
课后练习 173
实训题 175
第8章 使用JSP 177
8.1从JSp到Servlet 178
8.1.1 JSp生命周期 178
8.1.2指示元素 181
8.1.3声明、Scriptlet与表达式元素 184
8.1.4注释元素 189
8.1.5隐含对象 189
8.1.6错误处理 192
8.2标准标签 196
8.2.1 <jsp:include>与<j<jsp:forward>标签 197
8.2.2 <jsp:useBean>、 <jsp:setproperty>与<j<jsp:getproperty>简介 198
8.2.3深入<j<jsp:useBean>、 <jsp:setproperty>与<j<jsp:getproperty> 200
8.2.4 Model 1简介 204
8.2.5其他标准标签 206
8.3表达式语言(EL) 207
8.3.1 EL简介 207
8.3.2使用EL访问属性 210
8.3.3 EL隐含对象 213
8.3.4 EL运算符 214
8.3.5 EL函数的自定义 215
8.4综合练习/在线书签 218
8.4.1使用JSP实现“查看书签”页面 218
8.4.2使用JSP实现“添加书签”页面 220
8.4.3调整web.xml与其他源代码 223
8.5重点复习 226
课后练习 229
实训题 231
第9章 使用JSTL与自定义标签 233
9.1 JSTL的使用 234
9.1.1 JSTL简介 234
9.1.2流程处理标签 236
9.1.3错误处理标签 239
9.1.4网页导入、重定向标签 241
9.1.5属性处理与输出标签 242
9.1.6 URL处理标签 245
9.2 Tag File自定义标签 246
9.2.1 Tag File简介 247
9.2.2处理标签属性与主体 249
9.2.3 TLD文件 252
9.3 Simple Tag自定义标签 253
9.3.1 Simple Tag简介 254
9.3.2架构与生命周期 256
9.3.3处理标签属性与主体 259
9.3.4与父标签的沟通 263
9.3.5 TLD文件 268
9.4 Tag自定义标签 268
9.4.1 Tag简介 269
9.4.2架构与生命周期 271
9.4.3重复执行标签主体 273
9.4.4处理主体运行结果 275
9.4.5与父标签的沟通 278
9.5综合练习/在线书签 281
9.5.1在“查看书签”页面使用JSTL 282
9.5.2在“添加书签”页面使用JSTL 282
9.6重点复习 283
课后练习 288
实训题 291
第10章Web容器安全管理 293
10.1 Web容器的安全管理 294
10.1.1 Java EE安全的基本概念 294
10.1.2声明式基本验证 297
10.1.3容器基本验证原理 302
10.1.4声明式窗体验证 303
10.1.5容器窗体验证原理 304
10.1.6使用HTTPS保护数据 305
10.1.7编程安全管理 309
10.2综合练习/在线书签 310
10.2.1使用容器窗体验证 310
10.2.2设置服务器对应文件 312
10.3重点复习 313
课后练习 315
实训题 317
第11章 整合数据库 319
11.1使用JDBC连接数据库 320
11.1.1 JDBC简介 320
11.1.2数据库的连接 324
11.1.3使用DataSource取得连接 328
11.1.4 Statement、 ResultSet的使用 332
11.1.5 PreparedStatement的使用 337
11.2综合练习/在线书签 339
11.2.1重构/创建DAO 340
11.2.2重构/修改BookmarkService 344
11.2.3设置JNDI部署描述 346
11.2.4添加“删除书签”功能 347
11.3重点复习 349
课后练习 351
实训题 353
第12章 模式与重构 355
12.1设计模式 356
12.1.1 Template Method模式(of设计模式) 356
12.1.2 Intercepting Filter模式(Java EE设计模式) 357
12.1.3 Model-View-Controller模式(架构模式) 358
12.2从重构中认识模式 360
12.2.1 Business Delegate模式 360
12.2.2 Service Locator模式 361
12.2.3 Transfer Object模式 361
12.2.4 Front Controller模式 362
12.3重点复习 363
课后练习 365
附录A NetBeans入门 367
A.1 NetBeans IDE与Tomcat的安装 368
A.2 Servlet的编写 370
A.3 Web应用程序的部署和运行 373
A.4 NetBeans工程的关闭和打开 375
附录 B Eclipse入门 377
B.1 Eclipse与Tomcat的安装 378
B.2 Servlet的编写 380
B.3 Web应用程序的导出和执行 383
B.4 Eclipse工程的关闭、删除和导入 386
附录C MySQL入门 389
C.1 MySQL的安装和设置 390
C.2 MySQL的数据类型 391
C.3数据库和数据表的创建 393
C.4 CRUD操作 394