目 录
第1章 JSP Web开发概述
1.1 什么是JSP
1.2 Web体系结构
1.2.1 Web浏览器
1.2.2 Web服务器
1.3 N层应用
1.3.1 两层体系结构
1.3.2 三层体系结构
1.3.3 n层体系结构
1.4 Web应用体系结构
1.4.1 采集数据
1.4.2 向Web服务器发送请求
1.4.3 执行服务器脚本(或程序)
1.4.4 把结果返回给浏览器
1.5 服务器端开发技术
1.5.1 公共网关接口(CGI)
1.5.2 专有Web服务器API(ISAPI和NSAPI)
1.5.3 Active Server Page(ASP)
1.5.4 Server-Side JavaScript
1.5.5 PHP
1.6 Java Servlet
1.7 JavaServer Pages
1.8 JSP的优点
1.8.1 性能
1.8.2 可复用的组件
1.8.3 分离表示和实现
第2章 开发环境
2.1 JSP开发工具简介
2.1.1 支持 JSP的应用服务器
2.1.2 支持JSP/Servlet 的开发工具
2.2 Tomcat+Apache 的搭建
2.2.1 Linux
2.2.2 Solaris
2.2.3 Windows
2.2.4 其他平台
2.2.5 安装注意事项
2.3 应用程序的构建
2.3.1 应用程序目录
2.3.2 配置文件
2.3.3 服务器配置
2.3.4 校验应用程序
2.4 简单JSP程序的编写
2.4.1 Hello World!
2.4.2 Hello,World!revisited
2.4.3 Hello,World! Bean
2.4.4 Hello Real World
2.5 JSP 运行原理
2.5.1 附加JSP支撑(support)
2.5.2 JSP是怎样工作的
2.5.3 缓存的输出
2.5.4 会话管理
2.5.5 可伸缩性
2.5.6 错误处理
第3章 Java程序设计基础
3.1 Java语法基础
3.1.1 程序结构
3.1.2 基本规则
3.2 Java运行环境
3.2.1 构建Java运行环境
3.2.2 一个简单Java程序
3.3 类
3.3.1 对象实例
3.3.2 实例变量
3.3.3 new操作符
3.3.4 点操作符
3.3.5 成员函数定义
3.3.6 成员函数调用
3.3.7 this关键字
3.3.8 构造函数
3.3.9 重载
3.3.10 继承
3.3.11 super关键字
3.3.12 成员函数的覆盖
3.3.13 final关键字
3.3.14 静态
3.3.15 抽象
3.4 接口与包
3.4.1 接口
3.4.2 包(Package)
3.5 Java异常处理
3.5.1 异常基础
3.5.2 异常的类型
3.5.3 try与catch
3.5.4 多个catch子句
3.5.5 try语句的嵌套
3.5.6 throw语句
3.5.7 finally
3.6 多线程
3.6.1 多线程的概念
3.6.2 Java线程举例
3.6.3 常用线程类成员函数
3.7 Java 程序举例
3.7.1 构造一个加法器
3.7.2 编写一个applet
第4章 JSP编程
4.1 脚本语言
4.2 JSP标签
4.3 JSP指令
4.3.1 页面指令
4.3.2 include指令
4.3.3 标签库指令
4.4 JSP脚本
4.4.1 声明
4.4.2 表达式
4.4.3 Scriptlet(小脚本)
4.5 控制流
4.5.1 条件化
4.5.2 循环
4.5.3 异常处理
4.5.4 注意
4.6 JSP注释
4.6.1 内容注释
4.6.2 JSP注释
4.6.3 脚本语言注释
4.7 JSP动作
4.7.1 Forward
4.7.2 Include
4.7.3 Plugin
4.7.4 Bean标签
第5章 JSP内建对象
5.1 与Servlet有关的对象
5.1.1 Page对象
5.1.2 Config对象
5.2 Input/Output对象
5.2.1 Request对象
5.2.2 Response对象
5.2.3 Out对象
5.3 范围对象
5.3.1 Session对象
5.3.2 Application对象
5.3.3 PageContext对象
5.4 错误处理对象
5.4.1 Exception对象
第6章 JSP与JavaBeans
6.1 JSP组件模型
6.1.1 组件构造
6.1.2 组件构造的优点
6.1.3 Web网络工程的组件设计
6.1.4 用组件构建程序
6.2 JavaBean基本原则
6.3 JSP的Bean标签
6.3.1 基于标签的组件程序设计
6.3.2 访问JSP组件
6.3.3 Bean的初始化
6.4 JavaBean生命周期
6.4.1 Bean的可访问性及生命周期
6.4.2 page范围的Bean
6.4.3 Request范围的Bean
6.4.4 session范围的Bean
6.4.5 application范围的Bean
6.5 JavaBean的内涵
6.5.1 Bean惯例
6.5.2 Bean的构造函数
6.5.3 定义Bean的属性
6.5.4 索引化属性
6.5.5 布尔属性
6.5.6 JSP类型转换
6.5.7 如何设置Bean
6.6 JavaBeans接口
6.6.1 BeanInfo接口
6.6.2 系列化接口
6.6.3 Http SessionBindingListener接口
6.6.4 Bean API的其他特点
6.7 JavaBean与小脚本
6.7.1 通过小脚本访问Bean
6.7.2 访问小脚本创建的对象
6.8 实例
6.8.1 一个TimerBean
6.8.2 计算利息的Bean
第7章 JSP开发技术
7.1 Web应用程序
7.1.1 Web应用分层
7.1.2 Web应用程序流程
7.1.3 结构设计方法
7.2 以页面为中心的设计
7.2.1 每个页面的作用
7.2.2 构建复合页面
7.2.3 中心页面方法的局限性
7.3 以Servlet为中心的设计
7.3.1 在Hello,World例子中使用Servlets
7.3.2 JSP和Servlet API
7.3.3 控制应用程序的Servlets
7.3.4 用Servlet控制应用程序逻辑
7.3.5 Servlets作为单一的入口
7.3.6 Servlet中的错误处理
7.3.7 以Servlet为中心的员工浏览图
7.3.8 EmployeeBean
7.3.9 FetchEmployeeServlet
7.3.10 用JSP文件显示员工
7.3.11 查看JSP页面
7.4 选择适当的结构体系
7.4.1 应用程序环境
7.4.2 企业软件需求
7.4.3 性能可伸缩性提供的能力
7.4.4 技术考虑
7.4.5 组织考虑
7.5 JSP高级开发技术
7.5.1 Servlets有何缺陷
7.5.2 不同的方式
7.6 JSP存在的问题
7.6.1 使用Servlets的问题
7.6.2 使用template engine的问题
7.6.3 JSP的角色
7.7 JSP与ASP的比较
7.7.1 结构
7.7.2 性能和平台无关性
7.7.3 Session管理
7.7.4 Application管理
7.7.5 Server Side Includes
7.7.6 JavaBeans组件
7.7.7 JSP和数据库
7.7.8 Java的优势
7.7.9 JSP标签可扩充性
7.7.10 JSP跨平台的可重用性
第8章 操作数据库
8.1 JSP与JDBC
8.1.1 JNDI和数据源
8.1.2 预备声明
8.2 数据库驱动JSP
8.2.1 从表数据中建立JSP组件
8.2.2 JSP与JDBC数据类型
8.2.3 保持固定连接
8.2.4 处理大量结果
8.2.5 事务处理
8.3 一个JSP订票系统的例子
8.3.1 工程概览
8.3.2 所用数据库
8.3.3 设计概要
第9章 一个FAQ工程
9.1 简介
9.1.1 开发本项目的动机
9.1.2 所需的技术条件
9.1.3 应用模块
9.1.4 建立一个FAQ组件
9.2 存储模块
9.2.1 数据库图表
9.2.2 FaqRepository类
9.2.3 存储模块异常
9.3 管理模块
9.3.1 管理Servlet
9.3.2 主菜单
9.3.3 添加FAQ
9.3.4 删除一个FAQ
9.3.5 更新FAQ
9.4 Web访问模型
9.4.1 FaqServlet
9.4.2 查看一个FAQ
9.4.3 查看全部FAQ
9.4.4 一个查看内容的表格
9.4.5 查看纯文本
第10章 创建定制化标签
10.1 定制化标签的作用
10.2 标签库如何工作
10.3 标签库的描述文件
10.3.1 库元素
10.3.2 Tag元素
10.3.3 属性元素
10.4 API概述
10.4.1 标签处理器
10.4.2 帮助类
10.4.3 辅助类
10.5 标签库例子
10.6 内容替代
10.7 标签属性
10.8 内容转换
10.8.1 URL重写
10.8.2 HTML编码
10.9 彼此交互的标签
10.9.1 交互机制
10.9.2 大纲处理标签
10.10 控制流
10.10.1 条件化
10.10.2 重复操作
10.11 标签库的包装
第11章 XML与JSP
11.1 HTML的局限性
11.2 XML的兴起
11.3 XML的例子
11.4 XML的应用展望
11.4.1 XML语法
11.5 序
11.6 元素声明
11.7 声明规则
11.8 XML的其他组件
11.9 XML与JSP
11.9.1 面向Scripting的标签
11.9.2 XML标签
第12章 集成JSP应用程序
12.1 什么是WAR
12.1.1 WAR就是XML
12.1.2 WAR的开发
12.2 WAR的技巧
12.2.1 WAR的参考资料
12.2.2 制作集成描述器
12.3 关于WAR的小结
第13章 实现JSP一般任务
13.1 如何处理cookie
13.1.1 cookie管理
13.1.2 Cookie类
13.1.3 cookie的设置(例1)
13.1.4 检索Cookie(例2)
13.2 创建处理错误的页面
13.2.1 一个产生错误的页面
13.2.2 数据收集方法
13.2.3 发送电子邮件
13.2.4 错误处理页面
13.3 JSP和JavaScript结合使用
13.4 建立交互性接口
13.4.1 提交用户请求
13.4.2 常用方法
13.4.3 表单例子
13.4.4 设置表单
13.4.5 文本及隐藏对象
13.4.6 文本域
13.4.7 单选框
13.4.8 选择框
13.4.9 复选框
13.4.10 表单源代码
13.5 使表单数据有效化
13.5.1 客户端和服务器端的有效化
13.5.2 服务器端的有效化(例子)
13.6 多重任务
13.6.1 确定最后修改的数据
13.6.2 执行系统命令
13.6.3 生成XML
第14章 JSP举例
14.1 旋转标题
14.1.1 BannerBean
14.1.2 使用BannerBean
14.2 一个随机引用的生成器
14.2.1 QuoteBean
14.2.2 使用QuoteBean
14.3 Tell a Friend!粘贴器
14.3.1 sticker
14.3.2 MailForm页
14.3.3 发送邮件
14.4 JSP Whois客户机
14.4.1 Whois客户服务系统
14.4.2 Whois协议
14.4.3 环境和设计思想
14.4.4 WhoisBean
14.4.5 构建客户服务前端
14.5 一个查看JSP源代码的按钮
14.5.1 显示源代码
14.5.2 该查看源代码方法的局限性
14.5.3 添加一个查看源代码按钮
14.5.4 使用一个标记查看源代码
第15章 网上书店实例
15.1 会员登录
15.1.1 会员登录Java Bean
15.1.2 会员登录htm与JSP
15.2 选书
15.2.1 选书JavaBeans
15.2.2 选书JSP
15.3 定单提交及查询
15.3.1 定单提交JavaBeans
15.3.2 定单提交JSP
附录A JSP API(Servlet 2.2和JSP 1.1)
附录B 合并Java小程序(Applets)
附录C JavaServer PagesTM白皮书
附录D JSP网站参考