前言
第1部分 入门篇
第1章 服务器端的Java入门
1.1 为什么选择Java
1.1.1 易于入门
1.1.2 降低用户接口的复杂性
1.1.3 用设计式样处理复杂问题
1.1.4 多线程——Java网络开发的必备技术
1.2 编写服务器端的Java代码
1.2.1 Tomcat推荐工具
1.2.2 选择IDE
1.3 数据库
1.3.1 服务器访问日志
1.3.2 其他用途
1.4 JavaServerPages
1.4.1 劳动分工
1.4.2 其他解决方案
1.5 结合在一起
1.5.1 服务器小程序容器
1.5.2 Tomcat服务器小程序容器或Web服务器
1.6 Web服务器的选择
1.7 数据库的选择
1.7.1 平面文件数据库
1.7.2 SQL数据库
1.7.3 对象数据库
1.7.4 MySQL
1.8 设计使用数据库的网站
1.9 中心数据库网站
1.10 小结
第2章 服务器小程序入门
2.1 服务器端Java
2.1.1 在哪里运行代码
2.1.2 设计约束条件
2.2 服务器端技术
2.2.1 服务器端的include
2.2.2 公共网关接口
2.2.3 服务器API
2.2.4 服务器端脚本语言
2.2.5 Active Server Pages
2.3 服务器小程序和JavaServer Pages
2.3.1 高效性
2.3.2 能力
2.3.3 可移植性
2.4 推荐读物
2.5 小结
第3章 安装和配置Tomcat
3.1 服务器小程序容器
3.1.1 进程内容器
3.1.2 进程外容器
3.1.3 独立容器
3.2 SDK
3.2.1 下载和安装
3.2.2 安装Java2 Standard Edition
3.2.3 安装验证
3.2.4 测试类
3.3 安装Tomcat
3.3.1 源代码或二进制码分布
3.3.2 二进制码安装
3.3.3 设置Tomcat环境变量
3.4 运行Tomcat
3.4.1 启动和停止Tomcat
3.4.2 处理HTML
3.4.3 运行HelloWorldExample服务器小程序
3.4.4 处理服务器小程序请求
3.5 Tomcat配置文件
3.5.1 理解server.xml
3.5.2 Web应用程序
3.5.3 Web应用程序和web.xml
3.5.4 服务器小程序描述表
3.5.5 默认的web.xml文件
3.5.6 配置
3.6 小结
第4章 服务器小程序基础
4.1 服务器小程序生命周期
4.2 GenericServlet类
4.3 HTTPServlet类
4.3.1 service方法
4.3.2 doGet()方法
4.3.3 表单试验
4.3.4 doPost()方法
4.3.5 不常使用的HTTP方法
4.4 服务器小程序知道什么
4.4.1 服务器小程序初始化设置
4.4.2 描述表初始化设置
4.5 请求属性
4.5.1 页面压缩
4.5.2 Cookie和session管理
4.5.3 检测浏览器
4.5.4 其他信息小块
4.6 小结
第5章 JavaServer Pages入门
5.1 JavaServer Pages解决方案
5.1.1 外观和编程逻辑的分离
5.1.2 标记格式
5.1.3 模板、指令和行为
5.2 指令
5.2.1 页面指令
5.2.2 include指令
5.2.3 taglib指令
5.3 JSP行为
5.3.1 隐含的JSP对象
5.3.2 脚本小程序
5.3.3 声明数据
5.3.4 局部和实例数据
5.3.5 声明方法
5.4 JSP生命周期
5.5 代码的位置
5.6 小结
第6章 JSP、Bean和自定义标记
6.1 Bean解决方案
6.2 在JSP中使用JavaBean
6.2.1 装载JavaBean
6.2.2 设置JavaBean属性
6.2.3 获得JavaBean属性
6.3 JavaBean组件模型
6.3.1 更多Bean
6.3.2 Enterprise JavaBeans
6.3.3 非EJB的可升级Web服务器
6.3.4 棘手的问题
6.4 标记库
6.4.1 没有主体的标记
6.4.2 taglib指令
6.4.3 标记库和Bean
6.5 小结
第2部分 网站和数据库
第7章 关系数据库基础
7.1 数据库通史
7.1.1 关系数据库管理系统
7.1.2 SQL和客户/服务器模型
7.1.3 SQL数据库的实质
7.1.4 发展现状
7.2 设计关系数据库
7.2.1 需要多少个表
7.2.2 创建表关系
7.2.3 使用Entity-Relationship Diagrams绘制数据库
7.3 范式
7.3.1 第一范式
7.3.2 第二范式
7.3.3 第三范式
7.3.4 破坏规则
7.4 小结
第8章 MySQL基础
8.1 MySQL数据库服务器
8.1.1 SQL的能力
8.1.2 SQL的局限性
8.2 为什么选择MySQL
8.2.1 可靠性
8.2.2 速度
8.2.3 容量
8.2.4 访问控制
8.2.5 开发工具
8.3 安装MySQL
8.3.1 选择版本
8.3.2 解释版本命名方案
8.3.3 安装MySQL二进制码
8.3.4 安装Unix二进制码
8.3.5 在Linux上安装RPM
8.3.6 安装Windows二进制码
8.3.7 源代码安装
8.3.8 目录结构
8.4 对安装进行测试
8.5 其他实用工具
8.6 小结
第9章 配置MySQL
9.1 mysql客户程序
9.1.1 mysql数据库
9.1.2 运用SELECT语句查看数据
9.1.3 SQL的大小写敏感性
9.2 访问控制体系
9.2.1 设置根口令
9.2.2 运用INSERT语句添加新权限
9.2.3 运用UPDATE语句改变权限
9.2.4 运用DELETE语句删除权限
9.2.5 运用GRANT及REVOKE语句设置权限
9.3 小结
第10章 操作SQL表
10.1 创建数据库
10.1.1 创建数据库
10.1.2 删除数据库
10.1.3 区分大小写
10.2 创建表
10.2.1 运用CREATE的语法
10.2.2 选择数据类型
10.2.3 列属性
10.2.4 查看已定义的表
10.3 索引与外部关键字
10.3.1 关键字
10.3.2 惟一索引
10.3.3 文本索引
10.4 更改表定义
10.4.1 运用ALTER TABLE语句
10.4.2 添加列及索引
10.4.3 修改列
10.4.4 删除列及索引
10.5 小结
第11章 设计数据库:个案研究
11.1 数据库需求
11.1.1 简化设计工作的工具
11.1.2 统一建模语言
11.2 确定核心表
11.2.1 Names表
11.2.2 Articles表
11.3 建立关系
11.3.1 作者-文章关系
11.3.2 添加文章类型信息
11.4 需求实现
11.4.1 实现访问控制
11.4.2 实现订阅定单跟踪
11.5 有效地运用索引
11.6 创建数据库
11.7 小结
第12章 操作SQL数据
12.1 生成数据
12.1.1 插入数据
12.1.2 删除数据
12.1.2 更新数据
12.2 数据查询
12.2.1 排序
12.2.2 限定输出结果
12.2.3 涉及多表的SELECT语句
12.3 SQL的函数与操作符
12.3.1 操作符
12.3.2 字符串比较
12.3.3 更多的信息
12.4 小结
第3部分 传递内容
第13章 运用JDBC
13.1 JDBC概述
13.1.1 驱动程序类型
13.1.2 选择驱动程序
13.1.3 安装MM.MySQL驱动程序
13.2 MySQL服务器小程序
13.2.1 授予服务器小程序访问权
13.2.2 制作网页
13.2.3 创建驱动程序的实例
13.3 操作SQL数据
13.3.1 连接、语句及结果数据
13.3.2 执行查询
13.3.3 最后的finally{}
13.3.4 去掉服务器小程序的HTML
13.4 小结
第14章 网站设计策略
14.1 Java网站开发面临的挑战
14.1.1 JSP存在的问题
14.1.2 JavaBean存在的问题
14.2 设计动态网站
14.2.1 网页布局
14.2.2 包含其他页面
14.2.3 一种设计动态网页的途径
14.3 运用设计模式
14.3.1 模型视图控制器设计模式
14.3.2 运用服务器小程序控制输入
14.3.3 运用JSP查看数据
14.3.4 采用JavaBean模拟应用程序
14.3.5 MVC中的信息流
14.3.6 自定义标记库的作用
14.4 小结
第15章 设计Web应用程序的模型及控制器
15.1 设计需求
15.1.1 分组方法
15.1.2 创建数据库
15.1.3 类的高级应用
15.1.4 通用的重复标记
15.2 支持类
15.2.1 连接池
15.2.2 初始化服务器小程序
15.2.3 菜单缓冲区JavaBean
15.3 编写应用程序
15.3.1 初始化应用程序
15.3.2 控制服务器小程序
15.3.3 转交请求
15.4 小结
第16章 设计Web应用程序的视图
16.1 创建index.jsp
16.1.1 设计index.jsp
16.1.2 运用自定义标记
16.1.3 运用链接Bean
16.1.4 iterate标记
16.1.5 menu标记
16.1.6 header菜单
16.1.7 标记库定义
16.2 文章页面
16.2.1 包含文章文本
16.2.2 IncludePage标记
16.2.3 采用替代文件扩展名
16.2.4 改进该标记
16.3 小结
第17章 在JSP中运用Bean
17.1 理解集合
17.1.1 接口概念
17.1.2 多重继承
17.1.3 接口
17.1.4 集合接口
17.1.5 一组菜单
17.2 创建重复标记
17.2.1 重复标记的属性
17.2.2 通过映像得到方法
17.2.3 IterateTEI类
17.3 小结
第18章 性能与设计
18.1 数据并发性
18.1.1 保守并发性
18.1.2 开放并发性
18.2 多线程及服务器小程序
18.2.1 单线程模型
18.2.2 同步方法
18.2.3 可升级能力设计
18.3 JSP的线程问题
18.4 小结
第4部分 数据库驱动的网站策略
第19章 用户身份鉴别
19.1 身份鉴别
19.1.1 基本型身份鉴别
19.1.2 贯通型身份鉴别
19.1.3 基于表单的身份鉴别
19.1.4 使用SSL
19.2 Tomcat的安全机制
19.2.1 安全约束
19.2.2 Tomcat的基于表单的身份鉴别
19.2.3 Tomcat的基本型身份鉴别
19.2.4 身份鉴别请求截听器
19.3 定制的用户鉴别
19.3.1 UserBean类
19.3.2 SecurityBean类
19.3.3 WebDocBean类
19.4 小结
第20章 用HTML表单更新数据库
20.1 理解HTML表单
20.2 在MVC应用程序中的表单
20.2.1 请求表单
20.2.2 显示表单
20.2.3 保存表单
20.2.4 确认表单
20.2.5 MVC表单策略
20.3 使用JavaBeans模拟表单
20.3.1 集成字段为表单
20.3.2 处理表单JavaBean
20.4 处理表单
20.4.1 设置表单值
20.4.2 编辑表单
20.4.3 保存表单
20.5 小结
第21章 表单和数据库
21.1 构造表单
21.1.1 单项选择按钮处理类
21.1.2 从表单数据设置单项选择按钮
21.1.3 创建TestFormBean
21.2 创建JSP
21.3 设置表数据
21.4 处理初始请求
21.4.1 ControllerServlet doGet()方法
21.4.2 创建JavaBean表单
21.4.3 传送JavaBean表单
21.4.4 传送至表单页面
21.5 确认请求
21.6 确认表单字段
21.7 保存数据
21.8 小结
第22章 用户调查
22.1 建立用户调查
22.1.1 一个调查例子
22.1.2 建立调查数据表
22.2 设计调查Bean
22.2.1 分类集
22.2.2 实现比较器
22.2.3 建立多项选择按钮
22.2.4 请求调查
22.2.5 重复的调查提交项
22.3 获得调查结果
22.3.1 图表化调查结果
22.3.2 图像编码器
22.3.3 保证用户知晓调查情况
22.4 小结
第23章 收集服务器统计表
23.1 决定使用何种方法记录请求日志
23.1.1 从控制器服务器小程序中记录日志
23.1.2 日志保存之处
23.1.3 日志格式
23.2 记录映射的请求日志
23.3 使用请求截听器
23.3.1 建立日志记录请求截听器
23.3.2 初始化截听器
23.3.3 连接处理
23.4 解释日志
23.4.1 跟踪推荐页面
23.4.2 计数页面请求
23.4.3 检查用户访问
23.4.4 发现遗漏文件
23.4.5 服务器的统计数据
23.5 小结
第24章 Struts应用程序框架
24.1 Struts程序包
24.1.1 获得Struts
24.1.2 安装一个二进制Struts构造系统
24.2 Struts的概念
24.3 struts-example应用程序
24.3.1 文件web.xml
24.3.2 struts-example数据库
24.3.3 struts-example的struts-config.xml文件
24.3.4 Forward元素
24.3.5 欢迎页面
24.3.6 注册表单
24.3.7 用ActionServlet处理请求
24.3.8 主菜单
24.4 Struts标记库
24.5 小结
附录A Struts标记库
A.1 在Struts中运用Bean
A.1.1 Struts标记的公共属性
A.1.2 设置Struts属性
A.2 Bean标记
A.2.1 cookie标记
A.2.2 define标记
A.2.3 header标记
A.2.4 include标记
A.2.5 message标记
A.2.6 page标记
A.2.7 parameter标记
A.2.8 resource标记
A.2.9 struts标记
A.2.10 write标记
A.3 HTML标记
A.3.1 base标记
A.3.2 errors标记
A.3.3 form标记
A.3.4 form field标记
A.3.5 html标记
A.3.6 link标记
A.4 Logic标记
A.4.1 Comparison标记
A.4.2 forward标记
A.4.3 iterate标记
A.4.4 match标记
A.4.5 notMatch标记
A.4.6 notPresent标记
A.4.7 present标记
A.4.8 redirect标记
A.5 Template标记
附录B Java Web开发资源
B.1 Servlet及JSP技术规范
B.2 Java开发工具
B.3 其他的Sun资源
B.4 Jakarta主页
B.5 下载Tomcat
B.5 邮件列表
B.6 MySQL相关的资源