第一篇 起步篇
第1章 开启Jave Web之门
1.1 初识Java Web
1.1.1 Java概述
1.1.2 Java语言的主要特点
1.1.3 Java Web概述
1.1.4 Java Web成功案例
1.2 Web应用技术
1.2.1 客户端应用技术
1.2.2 服务器端应用技术
1.3 Web应用程序的工作原理
1.4 网络程序开发体系结构
1.4.1 什么是C/S结构
1.4.2 什么是B/S结构
1.4.3 B/S与C/S的区别
1.5 Java Web网站的基本构建流程
1.6 常用网上资源
1.6.1 常用资源下载网
1.6.2 技术社区
1.7 小结
1.8 习题
第2章 不可不知的客户端应用技术
2.1 构建页面内容的HTML 5标记语言
2.1.1 了解HTML 5文档结构
2.1.2 HTML文字排版标记
2.1.3 图片与超链接标记
2.1.4 HTML 5新增的语义元素
2.1.5 制作表格
2.1.6 播放音频和视频
2.1.7 表单标记
2.2 美化页面的CSS样式表
2.2.1 样式表的定义与引用
2.2.2 CSS规则
2.2.3 CSS选择器
2.2.4 CSS常用属性
第一篇 起步篇
第1章 开启Jave Web之门
1.1 初识Java Web
1.1.1 Java概述
1.1.2 Java语言的主要特点
1.1.3 Java Web概述
1.1.4 Java Web成功案例
1.2 Web应用技术
1.2.1 客户端应用技术
1.2.2 服务器端应用技术
1.3 Web应用程序的工作原理
1.4 网络程序开发体系结构
1.4.1 什么是C/S结构
1.4.2 什么是B/S结构
1.4.3 B/S与C/S的区别
1.5 Java Web网站的基本构建流程
1.6 常用网上资源
1.6.1 常用资源下载网
1.6.2 技术社区
1.7 小结
1.8 习题
第2章 不可不知的客户端应用技术
2.1 构建页面内容的HTML 5标记语言
2.1.1 了解HTML 5文档结构
2.1.2 HTML文字排版标记
2.1.3 图片与超链接标记
2.1.4 HTML 5新增的语义元素
2.1.5 制作表格
2.1.6 播放音频和视频
2.1.7 表单标记
2.2 美化页面的CSS样式表
2.2.1 样式表的定义与引用
2.2.2 CSS规则
2.2.3 CSS选择器
2.2.4 CSS常用属性
2.3 客户端交互的JavaScript
2.3.1 JavaScript的语言基础
2.3.2 JavaScript的流程控制语句
2.3.3 JavaScript函数的定义及调用
2.3.4 事件处理
2.3.5 常用对象
2.3.6 DOM技术
2.4 上机实践
2.4.1 使用删除线样式标注商品特价
2.4.2 将小写金额转换为大写金额
2.4.3 验证用户注册信息的合法性
2.5 小结
2.6 习题
第3章 驾驭Java Web开发环境
3.1 Java Web所需要的开发环境
3.1.1 开发工具包JDK
3.1.2 Web服务器
3.1.3 数据库
3.1.4 Web浏览器
3.2 安装和配置JDK
3.2.1 下载JDK
3.2.2 安装JDK
3.2.3 在Windows系统下配置和测试JDK
3.3 安装和配置Tomcat
3.3.1 获取Tomcat
3.3.2 熟悉Tomcat
3.3.3 修改Tomcat的默认端口
3.4 Eclipse开发工具的安装与使用
3.4.1 Eclipse的下载与安装
3.4.2 启动Eclipse
3.4.3 安装Eclipse中文语言包
3.4.4 Eclipse工作台
3.5 做好项目开发的准备工作
3.5.1 集成Eclipse与Tomcat
3.5.2 完善Web项目开发所需配置
3.6 使用Eclipse开发一个JSP网站
3.7 小结
3.8 习题
第4章 Java Web开发必修课之JSP语法
4.1 了解JSP页面的基本构成
4.2 使用JSP指令标识
4.2.1 使用页面指令page
4.2.2 使用文件包含指令include
4.2.3 使用引用标签库指令taglib
4.3 使用JSP脚本
4.3.1 在JSP中应用代码片段
4.3.2 使用JSP表达式
4.3.3 使用声明标识
4.4 巧用注释
4.4.1 基本HTML注释
4.4.2 隐藏注释
4.4.3 代码片段中的注释
4.5 常用JSP动作标识
4.5.1 使用包含动作标识<jsp:include>
4.5.2 使用请求转发的动作标识<jsp:forward>
4.5.3 使用子动作标识<jsp:param>
4.5.4 使用动作标识<jsp:useBean>
4.5.5 使用动作标识<jsp:getProperty>
4.5.6 使用动作标识<jsp:setProperty>
4.6 上机实践
4.6.1 应用Java程序片段动态生成表格
4.6.2 将页面转发到用户登录页面
4.6.3 应用JavaBean保存图片信息
4.7 小结
4.8 习题
第二篇 核心篇
第5章 程序开发效率之利器——内置对象
5.1 JSP内置对象概述
5.1.1 内置对象的作用
5.1.2 内置对象及其应用场合
5.2 request请求对象
5.2.1 获取请求参数
5.2.2 解决中文乱码问题
5.2.3 获取客户端数据
5.2.4 应用request对象域
5.3 response响应对象
5.3.1 操作HTTP头信息
5.3.2 设置MIME类型
5.3.3 实现页面重定向
5.4 out输出对象
5.4.1 向客户端输出数据
5.4.2 管理缓冲区
5.5 session会话对象
5.5.1 session的生命周期
5.5.2 创建与获取会话
5.5.3 移除对话中的数据
5.5.4 设置会话的有效时间
5.5.5 应用session对象模拟用户登录
5.6 应用application对象
5.6.1 application对象的生命周期
5.6.2 操作application对象中数据
5.6.3 配置Web应用的初始化参数
5.6.4 应用application对象实现网页计数器
5.7 其他内置对象
5.7.1 应答与请求的page对象
5.7.2 页面上下文的pageContext对象
5.7.3 获取web.xml配置信息的config对象
5.7.4 获取异常信息的exception对象
5.8 上机实践
5.8.1 通过request对象获取用户注册信息
5.8.2 防止表单在网站外部提交
5.8.3 通过cookie保存并读取用户登录信息
5.9 小结
5.10 习题
第6章 完美的“咖啡豆”——JavaBean技术
6.1 JavaBean概述
6.1.1 JavaBean的产生背景
6.1.2 JavaBean的作用
6.1.3 JavaBean的规范
6.1.4 JavaBean的种类
6.2 Eclipse对JavaBean方法的支持
6.3 JavaBean的应用
6.3.1 获取JavaBean的属性
6.3.2 对JavaBean的属性赋值
6.3.3 如何在JSP页面中应用JavaBean
6.4 上机实践
6.4.1 判断用户名是否有效
6.4.2 计算两个日期相差的天数
6.4.3 随机生成指定位数的验证码
6.5 小结
6.6 习题
第7章 Web应用的缔造者——Servlet
7.1 Servlet技术
7.1.1 Servlet概述
7.1.2 Servlet功能
7.1.3 Servlet特点
7.1.4 Servlet的生命周期
7.2 Servlet技术开发
7.2.1 Servlet在Java EE中的结构体系
7.2.2 Servlet核心API
7.2.3 创建第一个Servlet类
7.2.4 Servlet配置
7.2.5 使用Servlet处理业务逻辑
7.2.6 使用Eclipse快速创建Servlet
7.3 Servlet的典型应用
7.3.1 处理表单数据
7.3.2 页面转发
7.3.3 获取当前页的绝对路径
7.4 配置并使用Servlet过滤器
7.4.1 过滤器的处理方式
7.4.2 过滤器的核心对象
7.4.3 创建并配置过滤器
7.4.4 字符编码过滤器
7.5 Servlet监听器
7.5.1 Servlet监听器简介
7.5.2 Servlet监听器的工作原理
7.5.3 监听Servlet上下文
7.5.4 监听HTTP会话
7.5.5 监听Servlet请求
7.5.6 使用监听器查看在线用户
7.6 上机实践
7.6.1 记录用户访问次数
7.6.2 防盗链过滤器
7.6.3 敏感词过滤器
7.7 小结
7.8 习题
第8章 使用表达式语言(EL)
8.1 EL概述
8.1.1 EL的基本语法
8.1.2 EL的特点
8.2 与低版本的环境兼容——禁用EL
8.2.1 使用斜杠符号“\”
8.2.2 使用page指令
8.2.3 在web.xml文件中配置<el-ignored>元素
8.3 保留关键字
8.4 EL运算符及其优先级
8.4.1 通过EL访问数据
8.4.2 在EL中执行算术运算
8.4.3 在EL中判断对象是否为空
8.4.4 在EL中执行逻辑关系运算
8.4.5 在EL中执行条件运算
8.5 EL的隐含对象
8.5.1 页面上下文对象
8.5.2 访问作用域范围的隐含对象
8.5.3 访问环境信息的隐含对象
8.6 定义和使用EL函数
8.6.1 定义和使用函数
8.6.2 定义和使用EL函数时常见的错误
8.7 上机实践
8.7.1 应用EL访问JavaBean属性
8.7.2 应用EL表达式显示投票结果
8.7.3 应用EL显示用户的登录状态
8.8 小结
8.9 习题
第9章 页面控制利器——JSTL标签库
9.1 JSTL标签库简介
9.2 JSTL的下载与配置
9.2.1 下载JSTL标签库
9.2.2 配置JSTL
9.3 表达式标签
9.3.1 <c:out>输出标签
9.3.2 <c:set>变量设置标签
9.3.3 <c:remove>变量移除标签
9.3.4 <c:catch>捕获异常标签
9.4 URL相关标签
9.4.1 <c:import>导入标签
9.4.2 <c:url>动态生成URL标签
9.4.3 <c:redirect>重定向标签
9.4.4 <c:param>传递参数标签
9.5 流程控制标签
9.5.1 <c:if>条件判断标签
9.5.2 <c:choose>条件选择标签
9.5.3 <c:when>条件测试标签
9.5.4 <c:otherwise>其他条件标签
9.6 循环标签
9.6.1 <c:forEach>循环标签
9.6.2 <c:forTokens>迭代标签
9.7 上机实践
9.7.1 利用JSTL标签导入用户注册协议
9.7.2 根据参数请求显示不同的页面
9.7.3 JSTL在电子商城中的应用
9.8 小结
9.9 习题
第10章 数据库应用开发
10.1 Web开发时常用的数据库
10.1.1 MySQL数据库
10.1.2 SQL Server 2008
10.1.3 Oracle数据库
10.2 JDBC技术
10.2.1 JDBC简介
10.2.2 JDBC连接数据库的开发流程
10.3 JDBC核心API
10.3.1 驱动程序管理器DriverManager
10.3.2 代表数据库连接的Connection接口
10.3.3 执行SQL语句的Statement接口
10.3.4 预编译执行SQL语句的PreparedStatement接口
10.3.5 结果集ResultSet接口
10.3.6 及时关闭连接
10.4 通过JDBC操作数据库
10.4.1 添加数据
10.4.2 查询数据
10.4.3 修改数据
10.4.4 删除数据
10.4.5 批处理
10.4.6 调用存储过程
10.5 JDBC在Java Web中的应用
10.5.1 开发模式
10.5.2 分页查询
10.6 上机实践
10.6.1 批量删除数据
10.6.2 网站用户注册
10.6.3 插入用户登录日志信息
10.7 小结
10.8 习题
第三篇 高级篇
第11章 在互联网中操作文件资源
11.1 使用Servlet 3.0的新特性实现文件上传
11.2 使用Commons-FileUpload组件实现文件上传
11.2.1 添加表单及表单元素
11.2.2 创建上传对象
11.2.3 解析上传请求
11.3 实现文件下载
11.3.1 文件类
11.3.2 文件字节输入流
11.3.3 字节输出流
11.4 上机实践
11.4.1 获取表单的元素值
11.4.2 限制文件上传的类型
11.4.3 批量文件上传
11.5 小结
11.6 习题
第12章 利用JFreeChart实现动态图表
12.1 JFreeChart简介
12.1.1 认识JFreeChart组件
12.1.2 JFreeChart的下载与使用
12.2 JFreeChart的核心对象
12.2.1 制图对象
12.2.2 制图工厂对象
12.2.3 数据集合对象
12.2.4 绘图区对象
12.2.5 坐标轴对象
12.2.6 图片渲染对象
12.3 JFreeChart的应用
12.3.1 如何获取图片
12.3.2 创建数据集合与JFreeChart实例
12.3.3 图表相关属性的设置
12.3.4 JFreeChart内置JDBC的使用
12.3.5 中文乱码的解决方案
12.4 上机实践
12.4.1 利用JFreeChart绘制折线图
12.4.2 利用JFreeChart绘制区域图
12.4.3 利用JFreeChart绘制时序图
12.5 小结
12.6 习题
第13章 在JSP中操作XML
13.1 XML简介
13.1.1 XML文档结构
13.1.2 XML语法要求
13.1.3 为XML文档中的元素定义属性
13.1.4 XML的注释
13.1.5 处理字符数据
13.2 dom4j概述
13.2.1 dom4j简介
13.2.2 dom4j的下载与配置
13.3 创建XML文件
13.3.1 创建XML文档对象
13.3.2 创建根节点
13.3.3 添加注释
13.3.4 添加属性
13.3.5 创建子节点
13.3.6 设置节点的内容
13.3.7 设置编码
13.3.8 设置输出格式
13.3.9 输出XML文件
13.4 解析XML文档
13.4.1 构建XML文档对象
13.4.2 获取根节点
13.4.3 获取子节点
13.5 修改XML文档
13.5.1 修改节点
13.5.2 删除节点
13.6 上机实践
13.6.1 保存公告信息到XML文件
13.6.2 遍历XML文档
13.6.3 管理保存在XML文件中的公告信息
13.7 小结
13.8 习题
第14章 完美体验Ajax技术
14.1 了解Ajax
14.1.1 什么是Ajax
14.1.2 Ajax开发模式与传统开发模式的比较
14.1.3 Ajax的优点
14.2 使用XMLHttpRequest对象
14.2.1 初始化XMLHttpRequest对象
14.2.2 XMLHttpRequest对象的常用方法
14.2.3 XMLHttpRequest对象的常用属性
14.3 传统Ajax的工作流程
14.3.1 发送请求
14.3.2 处理服务器响应
14.3.3 一个完整的实例——检测用户名是否唯一
14.4 利用jQuery实现Ajax
14.4.1 jQuery简介
14.4.2 应用load()方法发送请求
14.4.3 发送GET和POST请求
14.4.4 服务器返回的数据格式
14.4.5 使用$.ajax()方法
14.5 需要注意的几个问题
14.5.1 安全问题
14.5.2 性能问题
14.5.3 浏览器兼容性问题
14.5.4 中文编码问题
14.6 上机实践
14.6.1 实时显示公告信息
14.6.2 实现无刷新分页
14.6.3 多级联动下拉列表
14.7 小结
14.8 习题
第15章 MVC架构实现者——Struts 2框架
15.1 Struts 2框架概述
15.1.1 理解MVC的原理
15.1.2 Struts 2框架的产生
15.1.3 Struts 2的结构体系
15.2 Struts 2入门
15.2.1 获取与配置Struts 2
15.2.2 创建第1个Struts 2程序
15.3 Action对象
15.3.1 认识Action对象
15.3.2 请求参数的注入原理
15.3.3 Action的基本流程
15.3.4 动态Action
15.3.5 应用动态Action
15.4 Struts 2的配置文件
15.4.1 Struts 2的配置文件类型
15.4.2 配置Struts 2包
15.4.3 配置名称空间
15.4.4 Action的相关配置
15.4.5 使用通配符简化配置
15.4.6 配置返回结果
15.5 Struts 2的标签库
15.5.1 应用数据标签
15.5.2 应用控制标签
15.5.3 应用表单标签
15.6 Struts 2的开发模式
15.6.1 实现与Servlet API的交互
15.6.2 域模型DomainModel
15.6.3 驱动模型ModelDriven
15.7 Struts 2的拦截器
15.7.1 拦截器概述
15.7.2 拦截器API
15.7.3 使用拦截器
15.8 数据验证机制
15.8.1 手动验证
15.8.2 验证文件的命名规则
15.8.3 验证文件的编写风格
15.9 上机实践
15.9.1 应用Struts 2处理表单数据
15.9.2 Struts 2标签下的用户注册
15.9.3 通过Struts 2实现简单投票器
15.10 小结
15.11 习题
第16章 数据库持久化利器——Hibernate技术
16.1 初识Hibernate
16.1.1 ORM原理
16.1.2 Hibernate简介
16.2 Hibernate入门
16.2.1 获取Hibernate
16.2.2 Hibernate配置文件
16.2.3 编写持久化类
16.2.4 Hibernate映射
16.2.5 Hibernate主键策略
16.3 使用Hibernate进行数据持久化
16.3.1 Hibernate实例状态
16.3.2 Hibernate初始化类
16.3.3 保存数据
16.3.4 查询数据
16.3.5 删除数据
16.3.6 修改数据
16.3.7 延迟加载
16.4 使用Hibernate的缓存
16.4.1 使用一级缓存
16.4.2 配置和使用二级缓存
16.5 实体关联关系映射
16.5.1 数据模型与领域模型
16.5.2 理解并配置多对一单向关联
16.5.3 理解并配置多对一双向关联
16.5.4 理解并配置一对一主键关联
16.5.5 级联操作
16.6 Hibernate查询语言
16.6.1 HQL语言
16.6.2 查询实体对象
16.6.3 条件查询
16.6.4 HQL参数绑定机制
16.6.5 排序查询
16.6.6 应用聚合函数
16.6.7 分组方法
16.6.8 联合查询
16.7 上机实践
16.7.1 修改员工信息
16.7.2 员工信息的模糊查询
16.7.3 按年龄升序显示公民信息
16.8 小结
16.9 习题
第17章 简化企业开发瑰宝——Spring技术
17.1 Spring概述
17.1.1 Spring的组成
17.1.2 获取Spring
17.1.3 配置Spring
17.1.4 使用BeanFactory管理Bean
17.1.5 应用ApllicationContext
17.2 依赖注入
17.2.1 控制反转与依赖注入
17.2.2 配置Bean
17.2.3 Setter注入
17.2.4 构造器注入
17.2.5 引用其他Bean
17.2.6 创建匿名内部JavaBean
17.3 AOP概述
17.3.1 AOP术语
17.3.2 AOP的简单实现
17.4 Spring的切入点
17.4.1 静态与动态切入点
17.4.2 深入静态切入点
17.4.3 深入切入点底层
17.4.4 Spring中的其他切入点
17.5 Aspect对AOP的支持
17.5.1 Aspect概述
17.5.2 Spring中的Aspect
17.5.3 DefaultPointcutAdvisor切入点配置器
17.5.4 NameMatchMethodPointcutAdvisor切入点配置器
17.6 Spring的持久化
17.6.1 DAO模式
17.6.2 Spring的DAO理念
17.6.3 事务管理
17.6.4 应用JdbcTemplate操作数据库
17.6.5 与Hibernate整合
17.6.6 整合Spring与Hibernate
17.7 上机实践
17.7.1 登录页面国际化
17.7.2 利用Spring整合Hibernate来批量添加数据
17.7.3 利用AOP实现用户注册
17.8 小结
17.9 习题
第四篇 项目实战篇
第18章 基于Ajax的聊天室
18.1 需求分析
18.2 系统设计
18.2.1 系统目标
18.2.2 系统功能结构
18.2.3 系统流程图
18.3 系统开发及运行环境
18.4 系统文件夹组织结构
18.5 公共类设计
18.5.1 编写并配置字符编码过滤器
18.5.2 编写聊天室相关的Servlet实现类
18.6 用户登录模块设计
18.7 聊天室主体功能模块设计
18.7.1 设计聊天室主页面
18.7.2 实时获取并显示在线人员列表
18.7.3 实现用户发言
18.7.4 实时显示聊天内容
18.8 退出聊天室模块
18.8.1 实现安全退出聊天室功能
18.8.2 处理非正常退出聊天室
18.9 开发常见问题与解决方法
18.10 小结
第19章 基于SSH2的网络商城
19.1 需求分析
19.2 系统设计
19.2.1 系统目标
19.2.2 系统功能结构
19.2.3 系统业务流程图
19.2.4 系统编码规范
19.3 系统开发及运行环境
19.4 数据库与数据表设计
19.4.1 E-R图设计
19.4.2 创建数据库及数据表
19.5 系统文件夹组织结构
19.6 搭建项目环境
19.6.1 配置Struts 2
19.6.2 配置Hibernate
19.6.3 配置Spring
19.6.4 配置web.xml
19.7 公共类设计
19.7.1 Hibernate的Session初始化类
19.7.2 泛型工具类
19.7.3 数据持久化类
19.7.4 分页设计
19.8 登录注册模块设计
19.8.1 实现注册模块
19.8.2 实现登录模块
19.9 前台商品信息查询模块设计
19.9.1 实现商品分类查询
19.9.2 实现商品搜索
19.9.3 实现前台查询其他商品
19.10 购物车模块设计
19.10.1 实现购物车的基本功能
19.10.2 实现订单的相关功能
19.11 后台商品管理模块设计
19.11.1 实现商品管理功能
19.11.2 实现商品类别管理功能
19.12 后台订单管理模块设计
19.12.1 实现后台订单查询
19.12.2 实现后台订单状态管理
19.13 网站发布
19.13.1 配置Tomcat服务器
19.13.2 配置DNS服务器
19.14 开发常见问题与解决
19.14.1 页面中出现中文乱码
19.14.2 自定义查询时,当订单号为空会出错
19.15 小结