第1章 认识JSP 1
1.1 认识动态网站技术 1
1.2 JSP及其例子 2
1.2.1 什么是JSP 2
1.2.2 JSP页面示例 2
1.3 JSP和其他动态网页技术的比较 3
1.3.1 各种动态技术简介 3
1.3.2 技术特点 4
1.3.3 应用范围 6
1.3.4 性能比较 6
1.3.5 前景分析 6
1.4 如何掌握JSP 7
1.4.1 学习JSP的步骤 7
1.4.2 需要学习Java吗 9
1.5 本章小结 9
第2章 JSP的运行环境和实现原理 10
2.1 JSP各种运行环境的配置 10
2.1.1 Windows下JSP运行环境的配置 10
2.1.2 Linux/Unix下JSP运行环境的配置(Tomcat) 25
2.2 JSP的实现原理 26
2.2.1 一个例子 26
2.2.2 JSP引擎原理 28
2.3 本章小结 34
第3章 JSP的基本语法 35
3.1 JSP的标准语法 35
3.1.1 一个JSP例子的分析 35
3.1.2 通用的语法规则 37
3.1.3 注释、声明、表达式和程序段(Scriptlet) 39
3.1.4 JSP和HTML的结合 47
3.2 JSP的指令类语法 48
3.2.1 Include指令 48
3.2.2 page指令 51
3.2.3 taglib指令 55
3.3 JSP的动作类语法 56
3.3.1 id和scope属性 56
3.3.2 <jsp:forword> 56
3.3.3 <jsp:include> 58
3.3.4 <jsp:plugin> 59
3.3.5 <jsp:useBean> 68
3.3.6 <jsp:getProperty> 70
3.3.7 <jsp:setProperty> 71
3.4 JSP的中文问题 73
3.4.1 汉字编码和中文问题的初步认识 74
3.4.2 Java中文问题的表层分析及处理 76
3.4.3 Java中文问题的根源分析及解决 77
3.4.4 Java中文问题的小结 79
3.5 一个综合例子 81
3.6 本章小结 84
第4章 JSP内置对象使用详解 86
4.1 out对象的使用 86
4.2 request对象的使用 91
4.3 response对象的使用 97
4.4 session对象的使用 100
4.5 application对象的使用 108
4.6 综合例子 111
4.6.1 可以防止刷新的JSP计数器 111
4.6.2 JSP的login程序代码 113
4.7 本章小结 115
第5章 JSP与XML 116
5.1 XML介绍 116
5.1.1 什么是XML 116
5.1.2 元素、文档和数据岛 118
5.1.3 对象模式和数据类型 120
5.1.4 文件格式定义(DTD) 122
5.2 作为XML的JSP 128
5.2.1 关于文本类型的语法 128
5.2.2 指令 129
5.2.3 脚本元素 130
5.2.4 如何将一个JSP文件转换为XML文档 131
5.3 使用JSP技术生成动态XML 131
5.3.1 结构 132
5.3.2 使用.jsp扩展名重命名该文件 133
5.3.3 添加页面指令 133
5.3.4 添加Java代码 134
5.3.5 添加JavaBeans组件 136
5.3.6 小结 137
5.4 本章小结 138
第6章 Java Servlet 139
6.1 Servlet简介 139
6.1.1 Servlet为什么优于传统的CGI 139
6.1.2 Servlet的结构 140
6.1.3 一个简单例子 141
6.1.4 Servlet的接口 143
6.1.5 Servlet的生命周期 144
6.1.6 Servlet实例 145
6.2 JSP与Servlet 152
6.2.1 两者在应用上的区别 152
6.2.2 为什么JSP不能取代Servlet 153
6.3 JSP的2种结构——Model 1和Model 2 153
6.3.1 Model 1:简单的单层次应用 154
6.3.2 Model 2:重定向请求(Redirecting Requests) 155
6.3.3 JSP和Servlet结合的例子 159
6.4 本章小结 170
第7章 数据库连接——JDBC 171
7.1 数据库简介 171
7.1.1 什么是数据库 171
7.1.2 关系数据库模型 172
7.1.3 创建和用ODBC注册数据库 173
7.1.4 SQL语言简介 174
7.2 JDBC介绍 179
7.2.1 简介 179
7.2.2 JDBC的连接 182
7.2.3 DriverManager 187
7.2.4 JSP操作数据库示例 189
7.2.5 JDBC编程的语句 192
7.3 JDBC的连接详解 197
7.3.1 不同方式的连接 197
7.3.2 不同数据库的连接 199
7.4 JDBC数据库操作例程 206
7.4.1 Select操作 206
7.4.2 Insert操作 207
7.4.3 调用存储过程 208
7.4.4 数据分页显示 211
7.5 综合例子 214
7.6 本章小结 222
第8章 JavaBean与JSP 224
8.1 JavaBean循序渐进 224
8.1.1 JavaBean原理与应用 224
8.1.2 JavaBean和JSP的结合 226
8.2 JavaBean应用与例程 234
8.2.1 猜数字游戏 234
8.2.2 写JavaBean读取Text文件 237
8.2.3 JSP文件计数器 245
8.2.4 写JavaBean发送邮件 248
8.2.5 JSP+JavaBean的数据库操作应用 252
8.3 本章小结 265
第9章 JSP的高级技术 266
9.1 JSP的异常处理 266
9.1.1 如何增加一个错误页面 266
9.1.2 一个E-mail查找的例子 267
9.1.3 在Bean中处理异常 280
9.1.4 从一个页面中调用错误页面 283
9.1.5 编写一个错误页面 283
9.1.6 编写简单的跟踪机制 284
9.2 taglib的扩展 284
9.2.1 创建TEI文件 285
9.2.2 创建TLD文件 286
9.2.3 使用自定义标记 287
9.2.4 使用Tag Library 292
9.3 XML+JSP构架动态网站 292
9.3.1 标准化 293
9.3.2 生成动态XML 294
9.3.3 用XSL作为模板语言 296
9.3.4 生成HTML 297
9.4 Servlet中JDBC的高级应用 298
9.4.1 JDBC的使用 298
9.4.2 数据库连接池类和数据库管理者类 300
9.4.3 数据库连接池类(DBConnectionPool)的实现 300
9.4.4 数据库管理者类(DBConnectionManager)的实现 304
9.4.5 Servlet中连接池的使用 309
9.5 JavaBean和Servlet的企业级应用 311
9.6 从JSP调用EJB 320
9.7 XML和J2EE的组合应用技术 326
9.7.1 基础:数据的表示和交换 327
9.7.2 驾驭消息 331
9.7.3 让XML看得见 332
9.7.4 小结 335
9.8 本章小结 335
第10章 用JSP开发聊天室 336
10.1 聊天室程序结构 336
10.2 聊天室的初始化 336
10.3 聊天室的登录 339
10.4 显示聊天室状态 348
10.5 发送聊天信息 354
10.6 显示聊天信息 368
10.7 离开聊天室 370
10.8 聊天室辅助功能 372
10.9 聊天室的管理 373
10.10 本章小结 377
第11章 用JSP开发讨论区 378
11.1 讨论区总体概述 378
11.2 数据库的统一操作 380
11.3 中文处理 385
11.4 首页说明 386
11.5 计数器说明 391
11.6 用户注册制作 392
11.7 用户修改注册 398
11.8 用户登录制作 403
11.9 用户详细管理 407
11.10 用户列表管理 423
11.11 留言区制作 429
11.12 文学欣赏版制作 432
11.13 论坛代码说明 435
11.14 回车换行转换 448
11.15 本章小结 449
第12章 JSP开发的技巧和杂项技术 450
12.1 JSP内置对象的编程技巧 450
12.1.1 application对象的使用 450
12.1.2 request对象的使用 451
12.1.3 response对象的使用 453
12.1.4 session对象的使用 454
12.1.5 exception对象的使用 456
12.1.6 Cookies编程技巧 457
12.2 Servlet编程技巧 464
12.3 数据库和JDBC编程技巧 477
12.4 JavaBean编程技巧 487
12.5 与Applet的结合 501
附录A JSP的语法表 511
附录B JSP1.1的DTD文件 513