第1章 JSP 1.2和Servlet 2.3简介 1
JSP和Web 1
结构图 2
Servlet 3
JavaServer Page 3
为什么需要阅读本书 5
Servlet 2.3规范中的新功能 5
JSP 1.2规范中的新功能 6
更具吸引力的未来 7
小结 8
第2章 Web应用程序的概念 9
Web基础 9
在Web中使用Servlet/JSP 16
小结 21
第3章 Servlet的基础知识 22
组成部分 22
编译自的Servlet 52
Servlet的其他概念 55
通用的Servlet API 59
环境的Servlet API 64
请求API 73
响应API 74
会话管理API 75
高级Servlet主题 82
小结 91
组成部分 92
第4章 JSP的基础知识 92
JSP语法概述 95
JSP的其他概念 130
编写自己的JSP 131
控制标志的例子 131
高级JSP主题 138
小结 144
第5章 JSP和JavaBean 145
JavaBean的定义 145
Bean标志语法概述 150
运行Tomcat的Bean示例 156
调用JSP的Bean 165
使用JSP和Bean 169
小结 173
第6章 组合Servlet、JSP和JavaBean 174
MVC结构 174
HTTP会话绑定事件 195
小结 201
第7章 Web应用程序结构 202
代码分解和角色分离 202
结构 204
“页面中心”方法 204
“调度器”方法 213
创建与购买 232
小结 233
自定义标志 235
第8章 自定义标志简介 235
自定义标志的优点 236
使用自定义标志 239
创建自定义标志 240
自定义标志的缺点 257
何时在JSP中使用自定义标志 258
何时创建自定义标志 260
接受自定义标志 260
小结 261
第9章 创建简单的自定义标志 262
使用自定义标志的要求 262
标志接口 268
处理标志属性 269
拒绝处理BODY 275
关闭标志 278
将对象存入页属性 281
标志中的脚本变量 285
循环 293
小结 297
第10章 复杂的自定义标志 299
BodyTag接口 299
Web应用程序结构 300
过滤标志 300
标志生命周期 305
相互协作的标志 311
标志检验 316
处理标志库中的错误 326
常见的陷阱 331
TLD索引 333
支持工具 336
撰写标志库的说明文档 337
发布标志库 338
小结 339
第11章 自定义标志编写原则 340
标志库的设计 340
使用脚本变量 342
设计相互协作的标志 345
自定义标志的应用领域 348
实例:XPath标志 352
标志库资源 352
小结 369
第12章 JSP和XML 371
什么是XML 371
XML和JSP的有用工具 374
使用Java提取并处理XML数据 376
JSP 1.2 XML语法 418
使用XML轻松实现动态JSP 421
小结 427
第13章 数据库访问和JDBC 428
关系数据库 428
JSP和JDBC:历史展望 429
JDBC驱动程序 429
使用JDBC 431
基于JDBC的投票应用程序 438
事务管理 456
连接池和可选的2.x API 457
数据访问策略 464
JDBC/JSP调试技巧 468
JDBC的局限性 469
小结 470
第14章 过滤 471
潜在的过滤器应用程序 471
过滤器详解 472
深入讨论过滤器 474
实战练习:过滤器的开发 484
编写功能强大的过滤器 493
其他过滤器类技术 493
小结 495
第15章 高级过滤器技术 496
六种问题域的过滤器 496
建立开发环境 497
可视化的审核过滤器:封装响应对象 499
身份验证过滤器:创建自己的响应 507
适合老资源的过滤器 512
身份验证——特定的AuthenticateFilter 517
压缩/加密——临时的压缩过滤器 521
动态转换XML数据的XSLT过滤器 526
小结 538
应用程序事件 539
第16章 应用程序事件与Web应用安全 539
Web应用程序的安全性 559
小结 576
第17章 可维护性和良好的习惯 578
目标 578
多层体系中的Web层 580
编写可维护JSP的技巧 582
编写JSP层文档 604
支持工具 605
可维护的JSP编码标准 606
小结 611
第18章 案例分析:可维护的数据库浏览器 612
要求 612
设计 614
实现 616
回顾应用程序 659
部署应用程序 660
小结 662
第19章 调试JSP和Servlet 663
调试技巧和工具 664
避免常见问题 684
小结 695
第20章 性能 696
范例应用程序:Widget Industries 697
强度测试 703
剖析 706
优化Java代码 709
J2EE优化 712
资源池 719
Tomcat与Apache:静态和动态 727
过滤器 728
配置Servlet容器 730
比较JVM 731
小结 732
第21章 Jakarta Struts框架 733
Struts是什么 733
安装Struts 737
应用程序示例 738
Struts的关键组件 784
应用程序服务器和Struts 794
使用Struts设计时需考虑的问题 794
接下来读者应做些什么 795
小结 795
第22章 使用JSP进行WAP编程 797
WAP编程模型 797
WAP应用程序编程环境 798
WAP MIME类型 806
创建JSP/WAP Hangman游戏 808
Hangman XML文档 815
将Hangman XML转换为WML 817
解析Hangman的words.xml文件 819
用JSP创建Hangman XML 824
小的改进:使得Hangman可在HTML浏览器中运行 828
小结 832
第23章 生成二进制内容 833
从Servlet和JSP中生成二进制内容 833
生成位图图像 836
生成矢量图像 845
决策时刻 857
生成PDF 858
小结 872
第24章 J2EE中的JSP 873
J2EE 873
网上商店实例 876
直接访问数据 877
企业JavaBean 878
部署EJB 888
从JSP中访问EJB 895
完整的网上商店 907
访问JavaMail和JMS 914
小结 919
附录A 安装Servlet/JSP环境 920
附录B JSP参考 935
附录C API参考 945
附录D 文档类型定义 997
附录E JSP和Servlet的版本历史 1009
附录F HTTP参考 1011
附录G ASP开发者的JSP须知 1025
附录H 软件许可证 1074