目录
第一部分:基础篇
第1章 Java Web应用概述
1.1 认识Web应用
1.1.1 Web应用运行过程(用户的使用过程)
1.1.2 Web应用
1.1.3 运行环境支持
1.1.4 HTML语言
1.1.5 HTTP协议
1.1.6 特点
1.1.7 B/S结构与C/S结构
1.1.8 Web应用开发技术
1.2 Java Web应用概述
1.2.1 Java Web与Java的关系
1.2.2 Java Web应用的主要技术
1.2.3 能够完成的主要任务
信息展示
信息查询
信息输入
信息更新
信息处理
信息存储
1.3 运行环境及开发环境
1.3.1 运行环境
1.3.2 开发环境
1.4 发展历史
1.4.1 Servlet技术阶段
1.4.2 JSP技术阶段
1.4.3 模型1:JSP+JavaBean阶段
1.4.4 模型2:JSP+JavaBean+Servlet阶段
1.4.5 框架阶段
1.4.6 可视化开发
小结
习题
第2章 简单的Web应用实例
2.1 动手操作:环境搭建
2.1.1 运行环境
2.1.2 安装JDK
2.1.3 安装Tomcat服务器
2.2 实例:登录
2.2.1 功能演示
2.2.1 创建Web应用
2.2.2 编写web.xml
2.2.3 页面文件
2.2.4 模型JavaBean
2.2.5 Servlet控制器
2.2.6 运行测试
2.3 Web应用文档结构
2.4 配置端口、应用、默认应用和欢迎文件
2.4.1 配置端口
2.4.2 配置应用
2.4.3 配置欢迎文件
2.5 Servlet运行原理
2.6 JSP运行原理
2.7 MVC模式
2.7.1 分层
2.7.2 传值
视图层与控制层之间值的传递
控制层与模型层之间值的传递
2.7.3 MVC模式在Java Web中的应用
JSF
Struts 1
2.7.4 如何实现MVC模式
小结
习题
第3章 输入
3.1 输入方式
3.2 常用表单元素
3.2.1 单行文本框
3.2.2 密码框
3.2.3 单选按钮
3.2.4 复选框
3.2.5 下拉框
3.2.6 文本域
3.2.7 重置按钮
3.2.8 提交按钮
3.2.9 实例
3.3 使用form元素
3.3.1 使用form元素封装要提交的信息
3.3.2 同一个页面中的多个form
3.3.3 实例
3.4 对输入信息进行验证
3.4.1 JavaScript语言
3.4.2 使用表单数据
3.4.3 调用验证方法
3.4.4 提示用户信息
3.4.5 常用的方法
非空验证
字符串长度验证
日期验证
数字验证
Email格式验证
3.4.6 正则表达式
字符集
重复
子表达式
子表达式计数
指定字符串的开始和末尾
分支
匹配特殊字符
常见用法举例
在JavaScript中的使用
3.4.7 实例
小结
习题
第4章 业务处理
4.1 客户端处理
4.1.1 JavaScript处理
实例:复选框全选与取消
实例:联动菜单
实例:组合列表框
4.1.2 Ajax技术
概述
交互的基本过程
实例
4.2 JavaBean技术
4.2.1 编写JavaBean
4.2.1.1 什么是JavaBean
4.2.1.2 编写JavaBean
4.2.1.3 编译JavaBean
4.2.2 部署
4.2.3 使用JavaBean
4.2.3.1 使用<jsp:useBean>
4.2.3.2 使用<jsp:setProperty>
4.2.3.3 使用<jsp:getProperty>
4.2.3.4 调用业务方法
4.2.3.5 最佳实践
4.2.4 在Java代码中访问已有的JavaBean
4.3 自定义标签
4.3.1 简单标签库的编写
标签库处理类
标签库描述文件
在JSP中使用
4.3.2 具有属性的标签的编写
标签库处理文件
标签库描述文件
在JSP中的使用
4.3.3 具有标签体的标签
标签库处理文件
标签库描述文件
在JSP中的应用
4.3.4 对标签体进行处理
标签库处理文件
标签库描述文件
在JSP中的应用
4.3.5 使用简单标记
标签库处理文件
标签库描述文件
在JSP中的应用
小结
习题
第5章 输出
5.1 EL
5.1.1 EL基本语法格式
5.1.2 运算符
5.1.3 隐含对象
5.1.4 变量的作用范围
5.2 输出信息
5.3 条件输出
5.3.1 <c:if>标签
5.3.2 <c:choose>、<c:when>和<c:otherwise>
5.4 循环输出
5.4.1 <c:forEach>标签
5.4.2 输出集合信息
5.5 JSTL中fn函数库进行控制和处理
5.6 输出信息的格式化
5.6.1 CSS
5.6.2 JSTL fmt标签库
5.6.3 日期格式化
5.6.4 数字格式化
5.7 对输入元素进行初始化
5.7.1 单行文本框、密码框
5.7.2 单选按钮、复选框
5.7.3 下拉框
5.7.4 文本域
5.8 动态生成表单元素
5.8.1 动态生成单行文本框
5.8.2 动态生成复选框
5.8.3 动态生成单选按钮
5.8.4 动态生成下拉列表选项
小结
习题
第6章 Servlet与控制器
6.1 Servlet概述
6.1.1 什么是Servlet
6.1.2 Servlet的主要方法
6.1.3 编写简单的Servlet
编写Servlet
编译Servlet
配置Servlet
部署Servlet
访问Servlet
6.1.4 控制器与Servlet
6.2 接收信息
6.2.1获取请求信息
6.2.2获取Cookie信息
6.2.3获取session信息
6.2.4 获取application信息
6.2.5 获取Servlet配置信息
6.2.6 获取请求头信息
6.2.7 获取IP地址和端口信息
6.2.8 获取访问路径的相关信息
6.3 验证信息
6.3.1 非空验证
6.3.2 字符串长度验证
6.3.3 两个字符串是否匹配
6.3.4 整数验证
6.3.5 浮点数验证
6.3.6 数字序列验证
6.3.7 数字范围验证
6.3.8 日期验证
6.3.9 最晚日期验证
6.3.10 最早日期验证
6.3.11 email格式验证
6.3.12 邮政编码验证
6.4 转换信息
6.4.1 转换成数字
6.4.2 转换成时间
6.4.3 转换成对象
6.5 调用业务逻辑
6.6 响应
6.6.1 从控制层向视图层传值
6.6.2 转向
6.7 采用JSP页面完成控制
6.7.1 使用<jsp:forward>完成跳转
6.7.2 使用<jsp:include>完成跳转
小结
习题
第7章 请求与响应
7.1 请求与request对象
7.1.1 HTTP请求信息
7.1.2 request对象
7.2 response与响应
7.2.1 响应
7.2.2 response对象
7.3过滤器
7.3.1 Servlet过滤器简介
7.3.2 Servlet过滤器的编写
7.3.3 Servlet过滤器配置
7.3.4 串联Servlet过滤器
7.4 Servlet监听器
7.4.1 监听器类
7.4.2 指定事件监听器类
小结
习题
第8章 动态信息的存储与访问
8.1 内存中保存信息
8.1.1 内存中保存信息的方式
8.1.2 application对象
在Servlet中获取application对象
在application中存储信息
从application中获取信息
8.1.3 session
在Servlet中获取session对象
在session中存储信息
获取session中的信息
删除session中信息
使session无效
8.1.4 request
信息的存储
信息的获取
8.1.5 相邻页面之间共享信息
8.1.6 使用隐藏域传递参数
8.1.7 使用请求字符串传递信息
8.2 客户端保存:Cookie
8.2.1 Cookie基本用法
8.2.2 Cookie的主要方法
8.2.3 实例:记录登录信息
8.3 使用web.xml存储信息
8.3.1 应用配置信息
8.3.2 Servlet初始化信息
8.4 使用XML文件
8.4.1 DOM规范
8.4.2 SAX技术
8.4.3 JAXP规范
8.4.4 实例:使用DOM解析
8.4.5 实例:使用SAX解析
8.5 使用属性文件
8.5.1 properties属性文件
8.5.2 Java属性文件
8.5.3 访问属性文件
8.5.4 实例
8.6 使用Excel文件
8.6.1 对Excel操作的基本过程
8.6.2 向Excel写信息
创建可写的工作薄
创建工作表
写单元格
8.6.3 实例
小结
习题
第9章 JDBC技术
9.1 JDBC概述
9.1.1 JDBC工作原理
9.1.2 JDBC的分类
9.1.3 主要接口
9.1.4 结果集
9.2 连接数据库的基本过程
9.3 连接池
配置JNDI数据源
配置server.xml
配置web.xml
使用连接池访问数据库
9.4 使用标准标签库中的SQL标签
设置数据源
执行查询
显示查询结果
使用参数
9.5 增删改查实例:用户管理
9.5.1 运行效果
9.5.2 文件及其跳转关系
9.5.3 用户列表界面
提示用户操作成功或者失败
显示所有用户信息
分页显示
删除用户信息的入口
修改用户信息的入口
9.5.4 用户信息修改界面
9.5.5 用户信息管理Bean
9.5.6 删除用户的控制器
9.5.7 修改用户的控制器
显示用户信息
更新用户信息
9.5.8 添加用户的控制器
9.5.9 获取所有用户的控制器
9.6 批量处理
9.6.1 使用PreparedStatement
9.6.2 使用批处理
9.7 图片处理
9.7.1 图片的存储
9.7.2 图片的显示
9.8 存储过程
9.8.1 存储过程的编写
9.8.2 存储过程的访问
9.8.3 实例
编写包头
编写包体
编写Java代码
9.9 简单事务处理
9.9.1 事务概述
9.9.2 使用JDBC接口进行事务处理
9.9.3 实例
小结
习题
第10章 简单实例
10.1 简单聊天室
10.1.1 聊天信息的存储
10.1.2 聊天信息的表示
10.1.3 聊天信息的管理
10.1.4 聊天页面
10.1.5 Servlet控制器
10.1.6 登录界面及控制器
10.2 简单购物车
10.2.1 用户上网购物的一般过程
10.2.2 购物车信息组织
10.2.3 物品信息显示功能
10.2.4 向购物车中添加物品
运行
10.2.5 购物车的其它功能
10.2.6 生成订单
小结
第11章 采用集成开发环境
11.1 在NetBeans IDE中开发Web应用
11.2 在Eclipse+MyEclipse中开发Web应用
11.2.1 配置
11.2.2 测试配置的服务器
11.2.3 创建Web应用
11.2.4 部署Web应用
11.2.5 创建JSP文件
11.2.6 MyEclipse中开发Servlet
第12章 使用Ant管理Web应用
12.1 Ant概述
12.2 build文件
12.3 常用任务
12.3.1 echo
12.3.2 Delete
13.3.3 copy
13.3.4 Javac
13.3.5 Mkdir
13.3.6 war
13.3.7 fileset
12.4 实例
第13章 使用CVS进行版本控制
13.1 版本控制概述
13.1.1 版本控制的目的
13.1.2 版本控制的主要操作
13.1.3 流行的版本控制工具
13.2 Eclipse中CVS的使用
13.2.1 cvsnt的下载
13.2.2 cvsnt的安装
13.2.3 CVS服务器配置
13.2.4 在系统中添加用户
13.2.5 Eclipse中CVS资源的配置
13.2.6 把项目共享到CVS服务器
13.2.7 从CVS服务器下载项目
13.2.8 比较本地目录与服务器上目录之间的文件区别
13.2.9 提交新的文件
13.2.10 比较服务器与本地文件的区别
13.2.11 提交修改后的文件
13.2.12 下载最新版本
第14章 程序调试
14.1 错误类型
14.1.1 编译错误
14.1.2 运行时错误
14.1.3 逻辑错误
14.1.4 特殊的错误
14.2 常见编译错误
14.2.1 Java文件中的常见编译错误
符号错误
方法调用错误
缺少符号
缺少返回值类型或者返回语句
类型不匹配
变量可能没有初始化
没有进行异常处理
语句无法执行到
中文字符
14.2.2 JSP文件中的常见编译错误
指令属性不正确
指令没有正常结束
标签属性不正确
标签没有正常结束
JavaBean属性错误
14.3 特殊类型的错误
14.3.1 该页无法显示
14.3.2找不到文件
14.3.3 文件修改后不起作用
14.4 运行期错误和逻辑错误的调试
14.5 在集成开发环境Eclipse中的调试
14.5.1 设置断点
14.5.2 单步跟踪
14.5.3查看变量或者对象的状态
14.5.4 改变变量的值
14.5.5 终止程序运行
14.5.6 切换视图
14.5.7 删除断点
第15章 测试
15.1 使用JUnit进行Java代码测试
15.1.1 概述
15.1.2 主要接口
15.1.3 使用过程
编写测试类
编写测试方法
判断结果是否正确
编写main方法
运行测试
15.1.4 实例
15.2 使用Castus进行Servlet测试
15.2.1 搭建环境
准备类库
在web.xml中配置
15.2.2 编写类
15.2.3 编写方法
setUp()
tearDown()
begin()
end()
testXXX()方法
beginXXX()方法
endXXX()方法
15.2.4 设置参数
request
response
config
ServletContextWrapper
session
filterChain
out
pageContext
bodyContent
参数初始化
15.2.5 运行
15.2.6 实例
实例1:测试使用Servlet API的Java类
实例2:测试Servlet
实例3:测试JSP
实例4:测试标签体
实例5:测试过滤器
第16章 日志处理
16.1 概述
16.2 配置
16.3 初始化
16.4 调用
16.5 扩展知识
第17章 系统安全控制
17.1 概述
17.1.1 安全的层次
17.1.2 安全的实现方式
17.1.3 登录功能
17.2 基本的安全控制
17.2.1 视图的安全控制
运行效果
思路分析
在用户添加界面增加控制
17.2.2 对控制器进行安全控制
17.3使用过滤器进行安全控制
17.3.1 Servlet过滤器简介
17.3.2 创建Servlet过滤器
17.3.3 配置过滤器
17.4 采用专门的安全控制页面
17.4.1 编写专门文件
17.4.2 修改图书添加界面代码
17.4.3 <jsp:include>标签和<%@ include %>指令
17.5 进行集中的安全控制
17.6 页面的局部安全要求
17.7 增加图形验证码
17.7.1 图形验证码的作用
17.7.2 图形验证码的实现原理
图形验证码的生成
在页面中使用图形码
验证
17.8 MD5加密
第18章 国际化
18.1 目标演示
18.1.1 功能描述
18.1.2 运行效果
18.1.3 思路分析
18.2 编写资源文件
18.2.1 资源文件内容的确定
18.2.2 资源文件的格式
采用属性文件
采用Java文件
18.2.3 转换成Unicode编码
18.2.4 资源文件的名字
18.2.5 资源文件的部署
18.2.6 用户管理的资源文件
中文属性文件
编码转换后的文件
英文属性文件
中文Java资源文件
英文Java资源文件
18.3 实现用户管理界面的国际化
18.3.1 设置所使用的语言
18.3.2 确定要访问的资源文件
18.3.3 访问资源文件中的内容
18.3.4 添加语言选择功能
18.3.5 修改后的文件
第19章 技术专题
19.1 访问路径问题
19.2 结果集处理
19.3 复杂查询
19.3.1 根据某个特定的字段进行查询
19.3.2 在多个字段中查询
19.3.3 根据任意字段查询
19.3.4 任意组合查询
19.3.5 多值查询
19.4 分页显示
19.4.1 在界面中分页显示
19.4.2 模型中实现分页显示
19.4.3 通过SQL语句完成分页
第三篇 框架技术
第20章 Web层框架
20.1 Web层框架概述
20.2 Struts 2
20.2.1 概述
20.2.2 开发人员的主要任务
环境搭建
制作模板文件
编写Action
配置
20.2.3 实例
Login.jsp
/pages/welcome.jsp
/WEB-INF/inc/loginCheck.jsp
simple.LoginAction.java
simple.LogoutAction.java
/WEB-INF/classes/xwork.xml
21.3 JSF技术
20.3.1 概述
重建视图阶段
应用请求值阶段
处理验证阶段
更新模型值阶段
调用应用阶段
呈现响应阶段
20.3.2 开发人员的主要工作
环境搭建
创建页面
编写JavaBean
配置
20.3.3 实例
loginForm.jsp
welcome.jsp
error.jsp
LoginBean.java
UserValidator.java
faces-config.xml
20.4 简单自定义Web层框架
20.4.1 解析路径
20.4.2 创建JavaBean的实例
20.4.3 从视图向JavaBean传值
20.4.4 为JavaBean传递其它信息
20.4.5 调用JavaBean方法
20.4.6 从JavaBean向视图传值
20.4.7 响应
20.4.8 小结
第21章 Java持久性技术
21.1 Java持久性概述
21.1.1 持久性的概念
文件
应用程序
持久性
21.1.2 持久性研究的主要内容
数据库信息配置
对象数据的加载
实体数据的更新
数据的查询
关系的管理
批量处理
安全问题
事务问题
21.1.3 持久性实现的方式
直接通过JDBC实现
通过JDO进行操作
使用标准标签库中的SQL标签
通过O/R映射工具实现
EJB 2.X实体Bean
Java持久性API
21.2 iBATIS技术
21.2.1 概述
21.2.2 开发人员的主要任务
环境搭建
创建SqlMapConfig.xml文件
编写模型类
创建SQL映射文件
使用iBATIS完成数据库操作
21.2.3 实例
模型类
SQL映射文件
数据库信息相关的配置文件:
DAO层
测试
21.3 Hibernate技术
21.3.1 概述
21.3.2 开发人员的工作
搭建环境
创建模型类
创建Hibernate配置文件
创建Hibernate映射文件
编写应用
21.3.3 实例
21.4 JPA技术
21.4.1 概述
21.4.2 开发人员的工作
编写配置文件
创建实体类
编写应用
21.4.3 实例
persistence.xml文件
Account类
DAO层
21.5 简单自定义持久层框架
21.5.1 连接数据库
21.5.2 编写元注释类
21.5.3 获取映射信息
21.5.4 构造SQL语句
21.5.5 执行SQL语句
21.5.6 处理结果集
21.5.7 自定义框架小结
参考文献