前言 1
第一章 编写servlet和JSP 9
1.0 引言 9
1.1 编写servlet 9
1.2 编写JSP 15
1.3 编译servlet 18
1.4 将servlet和JSP打包 19
1.5 创建部署描述文件 22
2.1 在Tomcat中部署独立的servlet 25
第二章 部署servlet和JSP 25
2.0 引言 25
2.2 在Tomcat的server.xml中使用Context元素 30
2.3 在WebLogic中部署独立的servlet 31
2.4 在Tomcat中部署独立的JSP 36
2.5 在WebLogic中部署独立的JSP 38
2.6 在Tomcat中部署Web应用程序 39
2.7 在WebLogic中使用Ant部署Web应用程序 45
2.8 使用WebLogic管理控制台 46
2.9 使用WebLogic Builder部署Web应用程序 51
2.10 使用weblogic.Deployer命令行工具 53
第三章 为servlet命名 57
3.0 引言 57
3.1 在web.xml中将servlet映射为名 58
3.2 为一个servlet创建多个映射 60
3.3 为servlet创建JSP类型的URL 62
3.4 将静态内容映射到servlet 63
3.5 不使用web.xml映射而调用servlet 65
3.6 将所有Web应用程序的请求映射到一个servlet 67
3.7 将请求映射到控制器并保留servlet映射 69
3.8 为Web应用程序创建欢迎文件 73
3.9 限制对某些servlet的请求 74
3.10 仅赋予控制器对某些servlet的访问权限 79
第四章 使用Apache Ant 82
4.0 引言 82
4.1 获取和安装Ant 83
4.2 使用Ant目标 84
4.3 在构建文件类路径中包括Tomcat JAR文件 88
4.4 用Ant构建文件编译servlet 91
4.5 用Ant创建WAR文件 94
4.6 用Ant创建JAR文件 97
4.7 用Ant启动Tomcat应用程序 100
4.8 用Ant停止Tomcat应用程序 103
第五章 转换JSP格式 106
5.0 引言 106
5.1 在Tomcat中预编译JSP 108
5.2 在WebLogic中预编译JSP 110
5.3 使用预编译协议预编译JSP 112
5.4 将JSP映射为页面实现类 113
5.5 从头开始创建JSP文档格式的JSP 114
5.6 从JSP中生成XML视图 118
第六章 在servlet和JSP中动态地导入内容 127
6.0 引言 127
6.1 在servlet每次处理请求时导入资源 128
6.2 在servlet中使用外部配置导入资源 130
6.3 在servlet中导入嵌套多层的资源 133
6.4 在JSP中导入很少改变的资源 138
6.5 在JSP每次处理请求时导入内容 141
6.6 使用外部配置文件在JSP中导入资源 145
6.7 在JSP文档中导入XML代码段 148
6.8 在JSP导入上下文之外的内容 152
第七章 在servlet和JSP中处理Web表单数据 155
7.0 引言 155
7.1 在servlet中处理POST HTTP请求 156
7.2 在JSP中处理POST HTTP请求 160
7.3 在JSP中设置JavaBean的特性 162
7.4 在JSP中设置表单参数值的作用范围 165
7.5 从servlet中发送数据 168
7.6 从JSP中发送数据 170
7.7 使用servlet向查询字符串添加参数 175
7.8 使用JSP向查询字符串添加参数 176
7.9 使用过滤器读取参数值 177
8.0 引言 180
第八章 上传文件 180
8.1 准备文件上传的HTML页面 181
8.2 使用com.oreilly.servlet库 183
8.3 一次上传一个文件 184
8.4 上传多个文件 187
8.5 文件重命名 191
8.6 使用JSP处理文件上传 193
9.1 在web.xml中声明异常处理器 198
9.0 引言 198
第九章 在Web应用程序中处理异常 198
9.2 创建处理异常的servlet 201
9.3 从servlet中发出错误 205
9.4 从JSP中发出错误 207
9.5 创建处理错误的JSP 208
9.6 声明为其他JSP处理异常的特殊JSP 211
第十章 读取和设置cookie 215
10.0 引言 215
10.1 使用servlet设置cookie 217
10.2 创建请求中所有cookie的数组 220
10.3 使用JSP设置cookie 221
10.4 使用servlet读取cookie的值 226
10.5 使用JSP读取cookie的值 228
10.6 修改或移除已经设置的cookie 231
第十一章 跟踪会话 233
11.0 引言 233
11.1 在web.xml中设置会话超时时间 234
11.2 在所有Tomcat Web应用程序中设置会话超时时间 237
11.3 以编程方式设置会话超时时间 238
11.4 检查会话是否存在于HttpServletRequest 241
11.5 在servlet中跟踪会话的活动 242
11.6 在JSP中跟踪会话的活动 245
11.7 在JSP中使用URL重写 250
11.8 在servlet中使用URL重写 253
11.9 使用监听器跟踪会话的生命周期 256
11.10使用监听器监视会话属性 260
11.11使用过滤器监视会话属性 263
12.1 在servlet中包括JavaScript模块 269
第十二章 在serVlet和JSP中集成JavaScript 269
12.0 引言 269
12.2 在JSP中包括JavaScript模块 273
12.3 在servlet中使用JavaScript创建新窗口 275
12.4 在JSP中使用JavaScript创建新窗口 278
12.5 在servlet中使用JavaScript验证表单值 280
12.6 在JSP中使用JavaScript验证表单值 283
第十三章 发送非HTML内容 285
13.0 引言 285
13.1 发送PDF文件 286
13.2 发送Word文件 290
13.3 发送XML文件 293
13.4 发送音频文件 295
13.5 在Servlet中查看内部资源 298
第十四章 记录servlet和JSP中的消息日志 302
14.0 引言 302
14.1 不通过log4j记录日志 304
14.2 设置log4j 306
14.3 不通过配置文件使用日志记录器 307
14.4 向root日志记录器添加日志存储器 309
14.5 在日志记录器的存储器中使用模式 312
14.6 在JSP中使用log4j 316
14.7 使用servlet上下文事件监听器记录消息日志 322
14.8 使用会话事件监听器记录消息日志 326
第十五章 客户端认证 329
15.0 引言 329
15.1 用Tomcat创建用户和口令 329
15.2 在Tomcat中建立SSL 330
15.3 使用BASIC认证 333
15.4 使用基于表单的认证 336
15.5 注销用户 340
15.6 使用JAAS创建LoginModule 342
15.7 创建JAAS配置文件 349
15.8 在servlet中使用JAAS 351
15.9 在JSP中使用JAAS 354
16.1 在servlet中设置ServletContext属性 359
第十六章 在Web应用程序中绑定、访问和移除属性 359
16.0 引言 359
16.2 在JSP中设置ServletContext属性 362
16.3 在servlet中访问或移除ServletContext属性 365
16.4 在JSP中访问或移除ServletContext属性 367
16.5 在servlet中设置会话属性 369
16.6 在JSP中设置会话属性 370
16.7 在servlet中访问或移除会话属性 372
16.8 在JSP中访问或移除会话属性 374
16.9 在servlet中设置请求属性 376
16.10 在JSP中设置请求属性 378
16.11 在servlet中访问或移除请求属性 379
16.12 在JSP中访问或移除请求属性 380
第十七章 在JSP中嵌入多媒体 383
17.0 引言 383
17.1 使用jsp:plugin在JsP中嵌入applet 383
17.2 使用HTML Converter在JSP中嵌入applet 386
17.3 自动创建包括Flash文件的HTML模板 390
17.4 编写嵌入Flash文件的HTML模板 392
17.5 在servlet中嵌入Flash 393
17.6 在JSP中嵌入QuickTime影片 395
17.7 在JSP中嵌入SVG文件 397
17.8 在JSP中嵌入背景音乐 400
第十八章 处理客户请求 402
18.0 引言 402
18.1 检查servlet中的HTTP请求首部 402
18.2 检查JSP中的HTTP请求首部 404
18.3 使用过滤器修改请求首部 405
18.4 自动刷新servlet 410
18.5 自动刷新JSP 411
18.6 Web应用程序请求的计数 412
第十九章 过滤请求和响应 415
19.0 引言 415
19.1 将过滤器映射到servlet 416
19.2 将过滤器映射到JSP 419
19.3 将多个过滤器映射到一个servlet 420
19.4 改变过滤器应用于servlet的顺序 422
19.5 为过滤器配置初始参数 423
19.6 可选择地使用过滤器阻塞请求 426
19.7 过滤HTTP响应 428
19.8 使用过滤器操作RequestDispatcher对象 431
19.9 使用过滤器检查表单参数 433
19.10 使用过滤器阻塞IP地址 438
第二十章 在servlet和JSP中操纵电子邮件 442
20.0 引言 442
20.1 将电子邮件有关的类放置于类路径中 442
20.2 在servlet中发送电子邮件 444
20.3 使用JavaBean在servlet中发送电子邮件 447
20.4 在servlet中访问电子邮件 451
20.5 使用JavaBean在servlet中访问电子邮件 456
20.6 在servlet中处理所接收电子邮件的附件 457
20.7 在servlet中向电子邮件添加附件 463
20.8 在servlet中读取所接收电子邮件的首部 468
21.0 引言 473
第二十一章 访问数据库 473
21.1 不用DataSource在servlet中访问数据库 474
21.2 在Tomcat中配置DataSource 477
2 1.3 在Tomcat的servlet中使用DataSource 479
21.4 在WebLogic中创建DataSource 483
21.5 在WebLogic使用JNDI查找来获取DataSource 486
21.6 在WebLogic的JSP中使用DataSource 489
21.7 在servlet中调用存储过程 492
21.8 在JSP中调用存储过程 497
21.9 将ResultSet转换为Result对象 501
21.10 在一个事务中执行多个SQL语句 506
21.11 在JSP中使用事务 511
21.12 查找ResultSet的有关信息 514
第二十二章 使用定制标记库 519
22.0 引言 519
22.1 创建典型标记处理器 520
22.2 为典型标记处理器创建JSP 1.2 TLD 524
22.3 为典型标记处理器创建JSP 2.0 TLD 526
22.4 在Web应用程序中打包标记库 529
22.5 将标记库打包在JAR文件中 530
22.6 在JSP中使用定制标记 531
22.7 在定制标记类中处理异常 533
22.8 创建简单标记处理器 535
22.9 为简单标记处理器创建TLD 538
22.10 在JSP中使用简单标记处理器 540
22.11 创建JSP标记文件 542
22.12 在Web应用程序中打包JSP标记文件 544
22.13 将JSP标记文件打包在JAR中 545
22.14 使用与标记文件关联的定制标记 546
22.15 向标记库添加监听器类 547
第二十三章 使用JSTL 550
23.0 引言 550
23.1 下载JSTL 1.0并在JSP中使用JSTL标记 551
23.2 下载Java Web服务开发者包 553
23.3 使用核心JSTL标记 554
23.4 使用XML核心JSTL标记 558
23.5 使用XML转换标记 560
23.6 使用格式化JSTL标记 563
23.7 通过DataSource配置使用SQL JSTL标记 566
23.8 不通过DataSource配置使用SQL JSTL标记 569
23.9 用EL访问作用范围内的变量 571
23.10 用EL访问请求参数 573
23.11 使用EL访问请求首部 575
23.12 使用EL访问一个请求首部 576
23.13 使用EL访问cookie 577
23.14 使用EL访问JavaBean特性 579
23.15 使用JSTL函数 584
第二十四 章国际化 589
24.0 引言 589
24.1 在servlet中检测客户区域 590
24.2 在JSP中检测客户区域 593
24.3 以特性文件方式创建一个ResourceBundle 595
24.4 以Java类方式创建ResourceBundle 597
24.5 在servlet中使用ResourceBundle 598
24.6 在JSP中使用ResourceBundle 601
24.7 在servlet中格式化日期 602
24.8 在JSP中格式化日期 604
24.9 在servlet中格式化货币 606
24.10 在JSP中格式化货币 608
24.11 在servlet中格式化百分数 609
24.12 在JSP中格式化百分数 611
24.13 在部署描述文件中设置区域化上下文 612
25.0 引言 614
第二十五章 使用JNDI和企业级JaVaBeans 614
25.1 在Tomcat中配置JNDI对象 615
25.2 在servlet中访问Tomcat JNDI资源 617
25.3 在JSP中访问Tomcat JNDI资源 623
25.4 在WebLogic中配置JNDI资源 627
25.5 在WebLogic中查看JNDI树 629
25.6 在servlet中访问WebLogic JNDI资源 630
25.7 在JSP中访问WebLogic JNDI资源 633
25.8 使用WebLogic JNDI树访问EJB 636
26.0 引言 645
第二十六章 收集Web信息 645
26.1 使用javax.swing.text子包解析HTML页面 646
26.2 使用servlet收集Web数据 649
26.3 创建作为Web页面解析器的JavaBean 654
26.4 在servlet中使用Web页面解析JavaBean 656
26.5 在JSP中使用Web页面解析JavaBean 659
第二十七章 使用Google和Amazon Web API 661
27.0 引言 661
27.1 准备使用Google的Web API 663
27.2 创建连接Google的JavaBean 664
27.3 使用servlet连接Google 668
27.4 使用JSP连接Google 672
27.5 准备使用Amazon的Web服务API 674
27.6 创建连接Amazon的JavaBean 676
27.7 使用servlet连接Amazon 680
27.8 使用JSP连接Amazon 684
索引 687