标题：JavaWeb整合开发完全自学手册
基本信息
书 名: JavaWeb整合开发完全自学手册
作　者：白广元
出版社： 机械工业出版社
出版时间： 2009
ISBN: 9787111242819
开本： 16
定价: 68.00 元
内容简介
《JavaWeb整合开发完全自学手册》介绍如何整合Struts+Hibernate+Spring+Eclipse进行J2EE开发，所有实例都基于MyEclipseIDE开发，引领读者快速进入基于JavaWeb的J2EE应用领域。《JavaWeb整合开发完全自学手册》主要介绍Struts、Hibernate、Spring、Eclipse的基础知识，如何整合这4个开源框架进行J2EE开发，如何基于MyEclipseIDE进行开发，J2EE开发的基础和基础环境搭配，Struts、Hibernate、Spring、Eclipse四个框架的使用，如何整合Struts+Hibernate+Spring+Eclipse框架。Struts+Hibernate+Spring+Eclipse已经成为轻量级开发J2EE的标准配置，被称为SHS经典组合，这也是目前Java程序员必须掌握的技能。由于使用范围广也使它们的版本更替非常之快，尤其是Java5推出以后这些项目都采用了Java5中的特性来重新实现并增加了很多新特性。以国内使用最广泛的Struts为例，其新版本Struts2与前一版Struts1.x已经有了天壤之别。Hibernate也从2.0升级为3.X，近期Spring也最新推出了2.5版。读者如果再参考以前的版本书籍学习，无异于南辕北辙，而《JavaWeb整合开发完全自学手册》的编写就是基于当前最新的版本，也着重于新版本中新功能的介绍。本书适合Java开发Web应用和J2EE的初学者阅读，同时也适合有一定基础并希望提高自己的系统设计水平的读者阅读。《JavaWeb整合开发完全自学手册》的重点第二篇Struts、第三篇Hibernate、第四篇Spring采用了相似的行文结构，条理清楚，不仅可作为stepbystep的入门书籍，也可作为读者自学的案头参考书。
编辑推荐
书山有路勤为径，学海无涯苦作舟！
《JavaWeb整合开发完全自学手册》涵盖主题
JSP基础知识
Struts2框架
sturts.xml核心配置文件
Action接口
Result类型
Interceptor拦截器
Struts2的View组件
Spring2.5框架
config-beans.xml文件
Spring的AOP
Spring的IoC
Hibernate3框架
Hibernate.cfg.xml配置文件
Hibernate的O-R映射
创建Hibernate持久化类
用Hibernate检索数据--HQL
Hibernate核心类
SSH案例：图书管理系统
《JavaWeb整合开发完全自学手册》特色
涵盖基础知识、核心技术、典型示例等内容
按照“基本概念一核心语法一典型示例”的模式讲解.容易上手
提供100余个典型实例、1个项目案例
超值光盘内容
《JavaWeb整合开发完全自学手册》源代码+本书视频演示+本书电子教案（PPT）
1200余页编程技术文档（免费赠送）+45个编程专题视频讲座（免费赠送）
《JavaWeb整合开发完全自学手册》重点内容概览
JavaWeb开发基础知识概述
详细讲解Struts2框架的知识及应用
详细讲解Hibernate3框架的知识及应用
详细讲解Spring2.5框架的知识及应用
用1个项目案例讲解SSH框架整合应用
《JavaWeb整合开发完全自学手册》读者对象
JavaWeb开发入门人员
JavaWeb开发程序员
J2EE初学者
希望提高系统设计水平的人员
想了解SSH新版本的人员
其他编程爱好者
丛书特点
作者均为有多年编程经验的一线
程序员或者培训讲师
光盘提供了源代码、视频演示、电子教案及编程技术文档
按“基本概念一语法讲解一示例讲解”的模式讲解，适合自学
概念都以简单的语言描述.必要时进行类比，容易理解
提供了大量实例.最后还提供了综合案例，比较实用
无论理论知识，还是实例，讲解都很详细，容易掌握
对代码进行了丰富的注释，阅读起来没有任何障碍
目录
第1章Web应用的发展1.1从静态网页说起
1.2动态网页的鼻祖CGI
1.3三足鼎立
1.3.1系出名门-ASP和.NET
1.3.2草根中走出的巨人-PHP
1.3.3来自Java阵营-JSP和J2EE
1.4模型-视图-控制器（MVC）
1.4.1MVC简介
1.4.2MVC的组成
1.4.3MVC带来的好处
1.5Ajax的兴起
1.5.1什么是Ajax
1.5.2Ajax的工作原理
1.5.3Ajax的优势所在
1.6小结
第2章学习JSP2.1环境准备
2.1.1安装JDK
2.1.2安装Tomcat
2.1.3安装MyEclipse
2.2第一个JSP程序
2.2.1JSP的工作原理
2.2.2JSP目录结构
2.2.3解读web.xml
2.2.4编写第一个JSP
2.2.5发布与测试
2.3JSP基本的语法
2.3.1给JSP加注释
2.3.2在JSP中声明变量和函数
2.3.3用JSP表达式输出结果
2.3.4用JSP脚本实现程序逻辑
2.4编译指令和动作标签
2.4.1使用page指令
2.4.2用include指令插入其他JSP
2.4.3用taglib指令引入标签库
2.4.4用forward标签跳转页面
2.4.5动态插入文件
2.4.6用标签操作JavaBean
2.4.7其他动作标签
2.5JSP的内置对象
2.5.1使用Request对象获取请求
2.5.2使用Response对象做应答
2.5.3在Session对象中保存用户会话
2.5.4Application对象、pageContext对象和JSP的Scope
2.5.5使用Out对象输出
2.5.6在Exception对象中处理异常
2.5.7Page对象和Config对象
2.6Servlet
2.6.1Servlet简介
2.6.2创建Servlet
2.6.3过滤器（Filter）
2.6.4监听器（Listener）
2.7自定义JSP标签
2.7.1标签库简介
2.7.2创建标签的处理类
2.7.3创建标签库描述文件
2.7.4使用自定义标签
2.7.5JSP2.0中新增的标签定义方法
2.8小结
第3章Struts2概述3.1Struts项目简介
3.2Struts2的前世今生
3.3Web世界中的MVC
3.3.1MVC在Web中的发展
3.3.2前端控制器和页面控制器
3.4为什么要使用Struts2
3.4.1框架的意义
3.4.2Struts2的优势
3.5小结
第4章Struts2入门4.1下载与安装Struts2
4.1.1下载Struts2
4.1.2发布Struts2自带的例子
4.2第一个Struts2程序
4.2.1配置web.xml
4.2.2编写JSP界面
4.2.3编写Action类
4.2.4添加映射到配置文件
4.3发布与测试
4.3.1发布
4.3.2测试结果
4.3.3分析处理流程
4.4小结
第5章Struts2的核心概念5.1术语概述
5.2Struts2的体系结构
5.3Struts2的配置文件
5.3.1全局配置文件-struts.properties
5.3.2核心配置文件-struts.xml
5.3.3struts.xml的默认实现
5.3.4Velocity模板规则文件
5.4struts.xml的配置
5.4.1Action配置
5.4.2Result配置
5.4.3拦截器（Interceptor）配置
5.4.4包（Package）配置
5.4.5命名空间（Namespace）配置
5.4.6在struts.xml中定义Bean
5.4.7在struts.xml中使用通配符
5.5实现Action
5.5.1实现Action接口
5.5.2扩展ActionSupport类
5.5.3实现基本校验
5.5.4使用本地的资源文件
5.5.5用ActionContext与Web容器发生联系
5.5.6高级输入
5.5.7使用Model-Driven
5.5.8使用Property-Driven
5.6Result类型介绍
5.6.1内置Result类型
5.6.2默认Result
5.6.3页面跳转Result
5.6.4创建Action链
5.6.5整合各种View技术
5.6.6自定义Result
5.7拦截器（Interceptor）介绍
5.7.1Interceptor的原理
5.7.2内置拦截器介绍
5.7.3使用内置Interceptor
5.7.4内置拦截器栈介绍
5.7.5自定义拦截器
5.8小结
第6章Struts2的View组件6.1EL简介
6.1.1EL语法
6.1.2EL变量
6.1.3自动转变类型
6.1.4EL隐含对象（内置对象）
6.1.5EL保留字
6.2使用通用标签
6.2.1标签语法
6.2.2控制标签（ControlTags）
6.2.3数据标签（DataTags）
6.2.4杂项标签
6.3使用HTML标签
6.3.1模板（Templates）和主题（Theme）
6.3.2通用属性
6.3.3表单标签介绍
6.3.4非表单标签
6.3.5标签实例
6.4OGNL介绍
6.4.1OGNL概述
6.4.2OGNL中的集合
6.5模板和主题的原理及方法
6.5.1模板装载
6.5.2选择主题（Theme）
6.5.3Struts2自带主题
6.5.4自定义主题
6.6在Struts中使用FreeMarker
6.6.1最简单的应用
6.6.2模板加载顺序
6.6.3在FTL文件中使用标签
6.7在Struts中使用Velocity
6.7.1最简单的应用
6.7.2变量解析
6.7.3配置Velocity
6.7.4在VM文件中使用标签
6.8在Struts中使用JasperReports
6.8.1准备JasperReports库
6.8.2定义值对象
6.8.3编写Action类
6.8.4编写Jasper模板
6.8.5配置struts.xml
6.9小结
第7章Struts2的高级应用7.1类型转换（TypeConversion）
7.1.1为什么需要类型转换
7.1.2定义类型转换器
7.1.3内建的（Builtin）类型转换支持
7.1.4参数名称的关系
7.1.5空值属性处理
7.1.6Collection和Map支持
7.1.7类型转换错误处理
7.2校验（Validation）
7.2.1手动校验
7.2.2使用框架校验
7.2.3注册校验器
7.2.4字段校验和非字段校验
7.2.5校验器的短路
7.2.6客户端校验
7.2.7Ajax校验实例
7.3国际化
7.3.1信息的来源
7.3.2资源包搜索顺序
7.3.3添加默认的资源包
7.3.4使用国际化信息
7.4处理上传文件
7.4.1编写文件上传页面
7.4.2构造处理上传的Action
7.4.3编写结果页面
7.4.4更多配置
7.4.5错误处理
7.4.6多文件上传
7.5防止重复提交
7.5.1使用标签增加标记
7.5.2使用Tokeninterceptor验证
7.5.3使用TokenSessionStoreInterceptor重新输出结果页面
7.6自动等待页面
7.7控制反转（IoC）
7.7.1配置Spring
7.7.2实现接口
7.7.3创建Action
7.7.4结果页面
7.8用Annotation配置Struts
7.8.1配置Action
7.8.2配置拦截器
7.8.3配置验证器
7.8.4配置类型转换
7.9小结
第8章Struts2实战inMyEclipse8.1准备开发环境
8.1.1创建工程
8.1.2引入Struts2的类库
8.1.3创建Struts2的配置文件
8.1.4目录结构
8.2编写代码
8.2.1登录界面
8.2.2登录Action
8.2.3用户CRUD操作
8.2.4添加校验
8.2.5实现国际化
8.2.6使用自定义拦截器
8.3在MyEclipse中发布
8.4小结
第9章Hibernate概述9.1JDBC简介
9.1.1JDBC提供的工具接口
9.1.2JDBC访问数据库
9.1.3持久化层
9.1.4关系型数据库与面向对象的冲突
9.2ORM介绍
9.2.1什么是ORM
9.2.2ORM带来了什么
9.2.3流行的ORM框架简介
9.3Hibernate项目简介
9.3.1Hibernate的传奇经历
9.3.2为什么要选择Hibernate
9.4小结
第10章Hibernate入门10.1安装MySQL数据库
10.1.1下载Hibernate
10.1.2安装MySQL
10.1.3配置MySQL
10.1.4MySQL的常用命令
10.1.5下载MySQL的JDBC驱动
10.2下载与安装Hibernate
10.2.1下载Hibernate
10.2.2安装Hibernate
10.3第一个Hibernate程序
10.3.1创建表
10.3.2创建持久化类（PersistentClasses）
10.3.3编写映射（Mapping）文件
10.3.4编写Hibernate配置文件
10.3.5编写测试程序
10.3.6运行测试
10.4小结
第11章Hibernate的基本操作11.1基本概念
11.1.1体系结构（Architecture）
11.1.2持久化类（PersistentClasses）
11.1.3实例的状态
11.2配置Hibernate
11.2.1数据库连接配置
11.2.2全局属性配置
11.2.3连接池配置
11.2.4使用其他配置方式
11.3Hibernate核心类
11.3.1Configuration类
11.3.2SessionFactory类
11.3.3Session类
11.3.4Query和Criteria类
11.3.5Transaction接口
11.4通过Session完成基本操作
11.4.1保存数据
11.4.2加载数据
11.4.3更新数据
11.4.4saveOrUpdate方法
11.4.5删除数据
11.4.6缓存
11.5小结
第12章Hibernate的O/R映射12.1映射定义（MappingDeclaration）
12.1.1元素介绍
12.1.2元素介绍
12.1.3元素介绍
12.1.4元素介绍
12.1.5其他属性
12.2映射对象标识符
12.2.1标识符的含义
12.2.2内置生成器介绍
12.2.3Hibernate的内置标识符生成器的用法
12.2.4映射自然主键
12.2.5复合自然主键
12.3Hibernate的类型
12.3.1Java基本值类型的Hibernate映射
12.3.2Java时间和日期类型的Hibernate映射类型
12.3.3Java大对象类型的Hibernate映射类型
12.3.4JDK自带的Java类的Hibernate映射类型
12.3.5自定义值类型
12.4小结
第13章复杂映射关系13.1关联关系映射
13.1.1多对一（manytoone）
13.1.2一对一（onetoone）
13.1.3一对多（onetomany）
13.1.4双向关联（bidirectionalassociations）
13.1.5双向一对一（bidirectionalonetoone）
13.1.6使用连接表（withjointables）
13.1.7多对多（manytomany）
13.1.8完整实例
13.2集合类（Collections）映射
13.2.1持久类中的集合类
13.2.2映射集合
13.2.3映射外键
13.2.4映射索引
13.2.5集合类排序
13.2.6完整的Map实例
13.3组件映射
13.3.1依赖对象
13.3.2在集合中出现的依赖对象
13.3.3组件作为联合标识符
13.3.4动态组件
13.4继承关系映射
13.4.1采用所有的类同在一张表
13.4.2采用每个子类一张表
13.4.3采用每个具体类一张表
13.5小结
第14章用Hibernate检索数据14.1查询基础
14.1.1执行查询
14.1.2用iterate()方法迭代查询结果
14.1.3指定绑定参数
14.1.4用Hibernate简单分页
14.1.5可滚动遍历（ScrollableIteration）
14.2HQL语句详解
14.2.1HQL基础
14.2.2用from子句指定数据表
14.2.3用select子句查询数据
14.2.4HQL中的聚集函数
14.2.5多态查询
14.2.6用where子句添加查询条件
14.2.7查询条件中的表达式
14.2.8用orderby子句排序
14.2.9用groupby子句分组
14.2.10HQL的子查询
14.2.11用fetch关键字来延时加载集合
14.2.12将HQL语句放入配置文件中
14.3条件查询
14.3.1添加查询条件
14.3.2结果集排序
14.3.3条件查询中的关联关系
14.3.4使用样例查询
14.3.5离线（Detached）查询和子查询
14.4直接使用SQL
14.4.1使用SQL查询
14.4.2将SQL语句放入配置文件中
14.4.3调用存储过程
14.5数据过滤
14.6小结
第15章Hibernate高级应用15.1批量处理
15.1.1及时清理Session缓冲区
15.1.2使用无状态Session接口
15.1.3使用HQL的批量语句
15.2事务与并发处理
15.2.1事务简介
15.2.2使用JDBC事务
15.2.3使用JTA事务
15.2.4数据操作的异常处理
15.2.5使用悲观锁
15.2.6使用乐观锁
15.3延时加载
15.3.1实体对象的延迟加载
15.3.2集合类型的延迟加载
15.3.3属性延迟加载
15.4缓存管理
15.4.1什么是缓存
15.4.2Hibernate自带的一级缓存
15.4.3二级缓存的定义
15.4.4常用的缓存插件
15.4.5如何使用二级缓存
15.4.6在查询中使用缓存
15.5事件机制
15.5.1拦截器
15.5.2事件系统
15.6使用注释配置Hibernate
15.6.1在创建Session工厂时指定Annotation
15.6.2使用注释
15.6.3给文件中的HQL加注释
15.7小结
第16章Hibernate3实战inMyEclipse16.1环境介绍
16.1.1数据库连接工具
16.1.2创建Hibernate工程
16.1.3生成持久化类
16.1.4HQL编辑器
16.2代码说明
16.2.1配置文件
16.2.2SessionFactory
16.2.3数据脚本
16.2.4持久化类和映射文件
16.2.5DAO类
16.3测试
16.4小结
第17章Spring概述
17.1Spring简介
17.1.1Spring项目历史
17.1.2Spring的由来
17.1.3Spring2.5带来的新特性
17.2Spring的基本概念
17.2.1Spring的组成结构
17.2.2什么是IoC
17.2.3什么是AOP
17.3为什么要使用Spring
17.3.1何谓轻量级（Lightweight）
17.3.2Spring带来了什么
17.3.3Spring的优势
17.3.4其他轻量级容器
17.4小结
第18章Spring入门18.1下载与安装Spring
18.1.1下载Spring
18.1.2安装Spring
18.2第一个Spring程序
18.2.1IoC示例
18.2.2AOP示例
18.3小结
第19章Spring的IoC19.1Bean工厂
19.1.1创建Bean工厂
19.1.2使用多个文件
19.1.3获取Bean
19.1.4BeanFactory的其他方法
19.2配置Bean
19.2.1Bean的定义
19.2.2Bean命名约定
19.2.3Bean的别名
19.3依赖
19.3.1Setter注入
19.3.2构造函数注入
19.3.3引用其他的Bean（协作者）
19.3.4使用depends-on
19.3.5注入集合类
19.3.6自动装配
19.4Bean的特性
19.4.1Bean的作用域
19.4.2改变Bean的行为
19.4.3Bean的生命周期
19.5利用ApplicationContext
19.5.1利用MessageSource实现国际化
19.5.2事件处理
19.5.3底层资源的访问
19.5.4延迟初始化Bean
19.5.5ApplicationContext在Web应用中的实例化
19.6使用注释定义IoC（2.5新增）
19.6.1用例介绍
19.6.2使用@Autowired注释
19.6.3在Setter方法上使用注释
19.6.4在构造函数中使用注释
19.6.5处理出现多个匹配情况
19.6.6使用JSR-250的注释
19.6.7彻底摆脱配置文件
19.7小结
第20章Spring的AOP20.1SpringAOP简介
20.1.1AOP的概念
20.1.2AOP的术语
20.1.3Spring的AOP有何特点
20.1.4SpringAOP的功能和目标
20.2@AspectJ配置AOP
20.2.1启用@AspectJ支持
20.2.2声明一个切面
20.2.3声明一个切入点（Pointcut）
20.2.4合并切入点表达式
20.2.5声明通知
20.2.6通知的参数（AdviceParameters）
20.2.7使用引入（Introductions）来定义接口
20.3XML方式配置AOP
20.3.1声明一个切面
20.3.2声明一个切入点
20.3.3声明通知
20.3.4通知参数
20.3.5使用引入
20.3.6使用@AspectJ还是XML配置AOP
20.4Spring2.5以前的AOP
20.4.1声明切面
20.4.2创建通知
20.4.3配置文件
20.4.4运行实例
20.5小结
第21章Spring的MVC框架21.1SpringMVC简介
21.1.1SpringMVC的结构
21.1.2SpringWebMVC框架的特点
21.2DispatcherServlet的功能
21.2.1在Web服务器中配置DispatcherServlet
21.2.2加载Bean配置文件
21.2.3SpringWeb应用的上下文
21.3控制器（Controller）
21.3.1基类AbstractController
21.3.2其他实用的控制器
21.4处理器映射（HandlerMapping）
21.5视图解析器
21.6Spring对视图的支持
21.6.1Spring的标签库
21.6.2Spring的主题
21.7MVC的完整实例
21.7.1配置web.xml
21.7.2创建Controller
21.7.3视图解析器
21.7.4JSP页面
21.7.5发布与测试
21.8用注释来驱动SpringMVC（2.5新增）
21.8.1基于注释的Controller
21.8.2使注释生效
21.9小结
第22章用Spring整合其他应用22.1集成Struts
22.1.1概述
22.1.2添加plugin包
22.1.3修改web.xml文件
22.1.4把Struts与Spring的配置文件对应起来
22.1.5高级选项
22.2集成Struts1.x
22.2.1装载应用程序环境
22.2.2使用Spring的ActionSupport
22.2.3覆盖RequestProcessor
22.2.4将动作管理委托给Spring
22.3Spring下完成远程访问
22.3.1访问RMI
22.3.2使用JAX-RPC的WebService
22.3.3发送电子邮件
22.3.4其他远程
22.4简化EJB的访问
22.4.1用传统的方式访问EJB
22.4.2用Spring访问EJB
22.5Spring中的定时调度（Scheduling）
22.5.1创建定制的Timers
22.5.2直接调度JavaBean
22.6Spring中的线程池
22.6.1使用TaskExecutor接口
22.6.2Spring自带Executor实现
22.7事务管理
22.7.1编程式事务管理
22.7.2声明式事务管理
22.8使用JDBC进行数据访问
22.8.1JdbcTemplate类
22.8.2DataSource接口
22.8.3执行SQL语句
22.8.4执行查询
22.8.5更新数据库
22.9集成Hibernate
22.9.1简介
22.9.2在Spring的ApplicationContext中创建SessionFactory
22.9.3使用HibernateTemplate
22.9.4使用HibernateDaoSupport类
22.9.5使用编程式的事务
22.9.6使用声明式的事务
22.10小结
第23章Spring2.5实战inMyEclipse23.1环境介绍
23.1.1插件的下载与安装
23.1.2创建Spring工程
23.1.3利用向导创建Spring的Bean
23.1.4其他支持
23.2代码说明
23.2.1在Spring中给Hibernate配置数据源
23.2.2持久化类和映射文件
23.2.3DAO类
23.2.4添加事务管理
23.3测试
23.4小结
第24章使用Struts+Hibernate+Spring24.1概述
24.1.1系统功能预览
24.1.2系统结构
24.1.3所需资源
24.1.4源代码目录组织
24.2给Web服务器配置web.xml
24.2.1添加Struts2配置
24.2.2添加Spring配置
24.2.3定义编码转化器（解决中文问题）
24.2.4定义Log的输出
24.3用Struts2实现Web表现层
24.3.1Struts的配置文件
24.3.2图书管理的Action类
24.3.3在添加图书中采用自动校验
24.3.4使用标签实现图书维护页面
24.4用Hibernate实现数据层
24.4.1创建数据库
24.4.2配置数据源
24.4.3持久化类和映射文件
24.4.4实现图书管理和登录管理的DAO类
24.5Spring整合业务层
24.5.1配置Bean文件
24.5.2实现业务类
24.5.3保存图书中的事务管理
24.5.4浏览图书的分页处理
24.6发布与测试
24.6.1在MyEclipse中发布应用
24.6.2在Tomcat中查看运行结果
24.7小结
……