简介
《Java Web整合开发完全自学手册:Struts+Hibernate+Spring+Eclipse》(珍藏版)是《Java Web整合开发完全自学手册》系列中的一篇。《Java Web整合开发完全自学手册》介绍如何整合Struts+Hibernate+Spring+Eclipse进行J2EE开发,所有实例都基于MyEclipse IDE开发,引领读者快速进入基于Java Web的J2EE应用领域。《Java Web整合开发完全自学手册》主要介绍Struts、Hibernate、Spring、Eclipse的基础知识,如何整合这4个开源框架进行J2EE开发,如何基于MyEclipse IDE进行开发,J2EE开发的基础和基础环境搭配,Struts、Hibernate、Spring、Eclipse四个框架的使用,如何整合Struts+Hibernate+Spring+Eclipse框架。Struts+Hibernate+Spring+Eclipse已经成为轻量级开发J2EE的标准配置,被称为SHS经典组合,这也是目前Java程序员必须掌握的技能。由于使用范围广也使它们的版本更替非常之快,尤其是Java 5推出以后这些项目都采用了Java 5中的特性来重新实现并增加了很多新特性。以国内使用最广泛的Struts为例,其新版本Struts 2与前一版Struts1.x已经有了天壤之别。Hibernate也从2.0升级为3.X,近期Spring也最新推出了2.5版。读者如果再参考以前的版《Java Web整合开发完全自学手册》籍学习,无异于南辕北辙,而《Java Web整合开发完全自学手册》的编写就是基于当前最新的版本,也着重于新版本中新功能的介绍。 《Java Web整合开发完全自学手册》适合Java开发Web应用和J2EE的初学者阅读,同时也适合有一定基础并希望提高自己的系统设计水平的读者阅读。《Java Web整合开发完全自学手册》的重点第二篇Struts、第三篇Hibernate、第四篇Spring采用了相似的行文结构,条理清楚,不仅可作为step by step的入门书籍,也可作为读者自学的案头参考书。
目录
写给自学编程的人员
前言
第一篇 Java开发Web应用
第1章 Web应用的发展
1.1 从静态网页说起
1.2 动态网页的鼻祖CGI
1.3 三足鼎立
1.3.1 系出名门-ASP和ASP.NET
1.3.2 草根中走出的巨人-PHP
1.3.3 来自Java阵营-JSP和J2EE
1.4 模型-视图-控制器(MVC)
1.4.1 MVC简介
1.4.2 MVC的组成
1.4.3 MVC带来的好处
1.5 Ajax的兴起
1.5.1 什么是Ajax
1.5.2 Ajax的工作原理
1.5.3 Ajax的优势所在
1.6 小结
第2章 学习JSP
2.1 环境准备
2.1.1 安装JDK
2.1.2 安装Tomcat
2.1.3 安装MyEclipse
2.2 第一个JSP程序
2.2.1 JSP的工作原理
2.2.2 JSP目录结构
2.2.3 解读web.xml
2.2.4 编写第一个JSP
2.2.5 发布与测试
2.3 JSP基本的语法
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.5 JSP的内置对象
2.5.1 使用Request对象获取请求
2.5.2 使用Response对象做应答
2.5.3 在Session对象中保存用户会话
2.5.4 Application对象、pageContext对象和JSP的Scope
2.5.5 使用Out对象输出
2.5.6 在Exception对象中处理异常
2.5.7 Page对象和Config对象
2.6 Servlet
2.6.1 Servlet简介
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.5 JSP2.0中新增的标签定义方法
2.8 小结
第二篇 Struts2
第3章 Struts2概述
3.1 Struts项目简介
3.2 Struts2的前世今生
3.3 Web世界中的MVC
3.3.1 MVC在Web中的发展
3.3.2 前端控制器和页面控制器
3.4 为什么要使用Struts2
3.4.1 框架的意义
3.4.2 Struts2的优势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.2 Struts2的体系结构
5.3 Struts2的配置文件
5.3.1 全局配置文件-struts.properties
5.3.2 核心配置文件-struts.xml
5.3.3 struts.xml的默认实现
5.3.4 Velocity模板规则文件
5.4 struts.xml的配置
5.4.1 Action配置
5.4.2 Result配置
5.4.3 拦截器(Interceptor)配置
5.4.4 包(Package)配置
5.4.5 命名空间(Namespace)配置
5.4.6 在struts.xml中定义Bea
n5.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.6 Result类型介绍
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.1 Interceptor的原理
5.7.2 内置拦截器介绍5.
7.3 使用内置Interceptor
5.7.4 内置拦截器栈介绍
5.7.5 自定义拦截器
5.8 小结
第6章 Struts2的View组件
6.1 EL简介
6.1.1 EL语法
6.1.2 EL变量
6.1.3 自动转变类型
6.1.4 EL隐含对象(内置对象)
6.1.5 EL保留字
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.4 OGNL介绍
6.4.1 OGNL概述
6.4.2 OGNL中的集合
6.5 模板和主题的原理及方法
6.5.1 模板装载
6.5.2 选择主题(Theme)
6.5.3 Struts2自带主题
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.6 Collection和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.7 Ajax校验实例
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 使用〈s:token〉标签增加标记
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实战inMyEclipse
8.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 小结
第三篇 Hibernate3
第9章Hibernate概述9.1 JDBC简介9.1.1 JDBC提供的工具接口9.1.2 JDBC访问数据库9.1.3 持久化层9.1.4 关系型数据库与面向对象的冲突9.2 ORM介绍9.2.1 什么是ORM9.2.2 ORM带来了什么9.2.3 流行的ORM框架简介9.3 Hibernate项目简介9.3.1 Hibernate的传奇经历9.3.2 为什么要选择Hibernate9.4 小结第10章 Hibernate入门10.1 安装MySQL数据库10.1.1 下载Hibernate10.1.2 安装MySQL10.1.3 配置MySQL10.1.4 MySQL的常用命令10.1.5 下载MySQL的JDBC驱动10.2 下载与安装Hibernate10.2.1 下载Hibernate10.2.2 安装Hibernate10.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 配置Hibernate11.2.1 数据库连接配置11.2.2 全局属性配置11.2.3 连接池配置11.2.4 使用其他配置方式11.3 Hibernate核心类11.3.1 Configuration类11.3.2 SessionFactory类11.3.3 Session类11.3.4 Query和Criteria类11.3.5 Transaction接口11.4 通过Session完成基本操作11.4.1 保存数据11.4.2 加载数据11.4.3 更新数据11.4.4 saveOrUpdate方法11.4.5 删除数据11.4.6 缓存11.5 小结第12章 Hibernate的O/R映射12.1 映射定义(MappingDeclaration)12.1.1 〈hibernate-mapping〉元素介绍12.1.2 〈class〉元素介绍
12.1.3 〈id〉元素介绍
12.1.4 〈property〉元素介绍
12.1.5 其他属性
12.2 映射对象标识符
12.2.1 标识符的含义
12.2.2 内置生成器介绍
12.2.3 Hibernate的内置标识符生成器的用法
12.2.4 映射自然主键
12.2.5 复合自然主键
12.3 Hibernate的类型
12.3.1 Java基本值类型的Hibernate映射
12.3.2 Java时间和日期类型的Hibernate映射类型
12.3.3 Java大对象类型的Hibernate映射类型
12.3.4 JDK自带的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.2 HQL语句详解
14.2.1 HQL基础
14.2.2 用from子句指定数据表
14.2.3 用select子句查询数据
14.2.4 HQL中的聚集函数
14.2.5 多态查询
14.2.6 用where子句添加查询条件
14.2.7 查询条件中的表达式
14.2.8 用orderby子句排序
14.2.9 用groupby子句分组
14.2.1 0HQL的子查询
14.2.1 1用fetch关键字来延时加载集合
14.2.1 2将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.2 Hibernate自带的一级缓存
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实战inMyEclipse
16.1 环境介绍
16.1.1 数据库连接工具
16.1.2 创建Hibernate工程
16.1.3 生成持久化类
16.1.4 HQL编辑器
16.2 代码说明
16.2.1 配置文件
16.2.2 SessionFactory
16.2.3 数据脚本
16.2.4 持久化类和映射文件
16.2.5 DAO类
16.3 测试
16.4 小结
第四篇 Spring2.5
第17章Spring概述
17.1 Spring简介
17.1.1 Spring项目历史
17.1.2 Spring的由来
17.1.3 Spring2.5 带来的新特性
17.2 Spring的基本概念
17.2.1 Spring的组成结构
17.2.2 什么是IoC
17.2.3 什么是AOP
17.3 为什么要使用Spring
17.3.1 何谓轻量级(Lightweight)
17.3.2 Spring带来了什么
17.3.3 Spring的优势
17.3.4 其他轻量级容器
17.4 小结
第18章 Spring入门
18.1 下载与安装Spring
18.1.1 下载Spring
18.1.2 安装Spring
18.2 第一个Spring程序
18.2.1 IoC示例
18.2.2 AOP示例
18.3 小结
第19章 Spring的IoC
19.1 Bean工厂
19.1.1 创建Bean工厂
19.1.2 使用多个文件
19.1.3 获取Bean
19.1.4 BeanFactory的其他方法
19.2 配置Bean
19.2.1 Bean的定义
19.2.2 Bean命名约定
19.2.3 Bean的别名
19.3 依赖
19.3.1 Setter注入
19.3.2 构造函数注入
19.3.3 引用其他的Bean(协作者)
19.3.4 使用depends-on
19.3.5 注入集合类
19.3.6 自动装配
19.4 Bean的特性
19.4.1 Bean的作用域
19.4.2 改变Bean的行为
19.4.3 Bean的生命周期
19.5 利用ApplicationContext
19.5.1 利用MessageSource实现国际化
19.5.2 事件处理
19.5.3 底层资源的访问
19.5.4 延迟初始化Bean
19.5.5 ApplicationContext在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的AOP
20.1 SpringAOP简介
20.1.1 AOP的概念
20.1.2 AOP的术语
20.1.3 Spring的AOP有何特点
20.1.4 SpringAOP的功能和目标
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.3 XML方式配置AOP
20.3.1 声明一个切面
20.3.2 声明一个切入点
20.3.3 声明通知
20.3.4 通知参数
20.3.5 使用引入
20.3.6 使用@AspectJ还是XML配置AOP
20.4 Spring2.5 以前的AOP
20.4.1 声明切面
20.4.2 创建通知
20.4.3 配置文件
20.4.4 运行实例
20.5 小结
第21章 Spring的MVC框架
21.1 SpringMVC简介
21.1.1 SpringMVC的结构
21.1.2 SpringWebMVC框架的特点
21.2 DispatcherServlet的功能
21.2.1 在Web服务器中配置DispatcherServlet
21.2.2 加载Bean配置文件
21.2.3 SpringWeb应用的上下文
21.3 控制器(Controller)
21.3.1 基类AbstractController
21.3.2 其他实用的控制器
21.4 处理器映射(HandlerMapping)
21.5 视图解析器
21.6 Spring对视图的支持
21.6.1 Spring的标签库
21.6.2 Spring的主题
21.7 MVC的完整实例
21.7.1 配置web.xml
21.7.2 创建Controller
21.7.3 视图解析器
21.7.4 JSP页面
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.3 Spring下完成远程访问
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.5 Spring中的定时调度(Scheduling)
22.5.1 创建定制的Timers
22.5.2 直接调度JavaBean
22.6 Spring中的线程池
22.6.1 使用TaskExecutor接口
22.6.2 Spring自带Executor实现
22.7 事务管理
22.7.1 编程式事务管理
22.7.2 声明式事务管理
22.8 使用JDBC进行数据访问
22.8.1 JdbcTemplate类
22.8.2 DataSource接口
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 实战inMyEclipse
23.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.3 DAO类
23.2.4 添加事务管理
23.3 测试
23.4 小结
第五篇 Struts2+Spring2.5 +Hibernate3实例
第24章 综合使用Struts+Hibernate+Spring开发图书管理系统
24.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.1 Struts的配置文件
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.5 Spring整合业务层
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 小结
前言
第一篇 Java开发Web应用
第1章 Web应用的发展
1.1 从静态网页说起
1.2 动态网页的鼻祖CGI
1.3 三足鼎立
1.3.1 系出名门-ASP和ASP.NET
1.3.2 草根中走出的巨人-PHP
1.3.3 来自Java阵营-JSP和J2EE
1.4 模型-视图-控制器(MVC)
1.4.1 MVC简介
1.4.2 MVC的组成
1.4.3 MVC带来的好处
1.5 Ajax的兴起
1.5.1 什么是Ajax
1.5.2 Ajax的工作原理
1.5.3 Ajax的优势所在
1.6 小结
第2章 学习JSP
2.1 环境准备
2.1.1 安装JDK
2.1.2 安装Tomcat
2.1.3 安装MyEclipse
2.2 第一个JSP程序
2.2.1 JSP的工作原理
2.2.2 JSP目录结构
2.2.3 解读web.xml
2.2.4 编写第一个JSP
2.2.5 发布与测试
2.3 JSP基本的语法
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.5 JSP的内置对象
2.5.1 使用Request对象获取请求
2.5.2 使用Response对象做应答
2.5.3 在Session对象中保存用户会话
2.5.4 Application对象、pageContext对象和JSP的Scope
2.5.5 使用Out对象输出
2.5.6 在Exception对象中处理异常
2.5.7 Page对象和Config对象
2.6 Servlet
2.6.1 Servlet简介
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.5 JSP2.0中新增的标签定义方法
2.8 小结
第二篇 Struts2
第3章 Struts2概述
3.1 Struts项目简介
3.2 Struts2的前世今生
3.3 Web世界中的MVC
3.3.1 MVC在Web中的发展
3.3.2 前端控制器和页面控制器
3.4 为什么要使用Struts2
3.4.1 框架的意义
3.4.2 Struts2的优势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.2 Struts2的体系结构
5.3 Struts2的配置文件
5.3.1 全局配置文件-struts.properties
5.3.2 核心配置文件-struts.xml
5.3.3 struts.xml的默认实现
5.3.4 Velocity模板规则文件
5.4 struts.xml的配置
5.4.1 Action配置
5.4.2 Result配置
5.4.3 拦截器(Interceptor)配置
5.4.4 包(Package)配置
5.4.5 命名空间(Namespace)配置
5.4.6 在struts.xml中定义Bea
n5.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.6 Result类型介绍
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.1 Interceptor的原理
5.7.2 内置拦截器介绍5.
7.3 使用内置Interceptor
5.7.4 内置拦截器栈介绍
5.7.5 自定义拦截器
5.8 小结
第6章 Struts2的View组件
6.1 EL简介
6.1.1 EL语法
6.1.2 EL变量
6.1.3 自动转变类型
6.1.4 EL隐含对象(内置对象)
6.1.5 EL保留字
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.4 OGNL介绍
6.4.1 OGNL概述
6.4.2 OGNL中的集合
6.5 模板和主题的原理及方法
6.5.1 模板装载
6.5.2 选择主题(Theme)
6.5.3 Struts2自带主题
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.6 Collection和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.7 Ajax校验实例
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 使用〈s:token〉标签增加标记
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实战inMyEclipse
8.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 小结
第三篇 Hibernate3
第9章Hibernate概述9.1 JDBC简介9.1.1 JDBC提供的工具接口9.1.2 JDBC访问数据库9.1.3 持久化层9.1.4 关系型数据库与面向对象的冲突9.2 ORM介绍9.2.1 什么是ORM9.2.2 ORM带来了什么9.2.3 流行的ORM框架简介9.3 Hibernate项目简介9.3.1 Hibernate的传奇经历9.3.2 为什么要选择Hibernate9.4 小结第10章 Hibernate入门10.1 安装MySQL数据库10.1.1 下载Hibernate10.1.2 安装MySQL10.1.3 配置MySQL10.1.4 MySQL的常用命令10.1.5 下载MySQL的JDBC驱动10.2 下载与安装Hibernate10.2.1 下载Hibernate10.2.2 安装Hibernate10.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 配置Hibernate11.2.1 数据库连接配置11.2.2 全局属性配置11.2.3 连接池配置11.2.4 使用其他配置方式11.3 Hibernate核心类11.3.1 Configuration类11.3.2 SessionFactory类11.3.3 Session类11.3.4 Query和Criteria类11.3.5 Transaction接口11.4 通过Session完成基本操作11.4.1 保存数据11.4.2 加载数据11.4.3 更新数据11.4.4 saveOrUpdate方法11.4.5 删除数据11.4.6 缓存11.5 小结第12章 Hibernate的O/R映射12.1 映射定义(MappingDeclaration)12.1.1 〈hibernate-mapping〉元素介绍12.1.2 〈class〉元素介绍
12.1.3 〈id〉元素介绍
12.1.4 〈property〉元素介绍
12.1.5 其他属性
12.2 映射对象标识符
12.2.1 标识符的含义
12.2.2 内置生成器介绍
12.2.3 Hibernate的内置标识符生成器的用法
12.2.4 映射自然主键
12.2.5 复合自然主键
12.3 Hibernate的类型
12.3.1 Java基本值类型的Hibernate映射
12.3.2 Java时间和日期类型的Hibernate映射类型
12.3.3 Java大对象类型的Hibernate映射类型
12.3.4 JDK自带的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.2 HQL语句详解
14.2.1 HQL基础
14.2.2 用from子句指定数据表
14.2.3 用select子句查询数据
14.2.4 HQL中的聚集函数
14.2.5 多态查询
14.2.6 用where子句添加查询条件
14.2.7 查询条件中的表达式
14.2.8 用orderby子句排序
14.2.9 用groupby子句分组
14.2.1 0HQL的子查询
14.2.1 1用fetch关键字来延时加载集合
14.2.1 2将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.2 Hibernate自带的一级缓存
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实战inMyEclipse
16.1 环境介绍
16.1.1 数据库连接工具
16.1.2 创建Hibernate工程
16.1.3 生成持久化类
16.1.4 HQL编辑器
16.2 代码说明
16.2.1 配置文件
16.2.2 SessionFactory
16.2.3 数据脚本
16.2.4 持久化类和映射文件
16.2.5 DAO类
16.3 测试
16.4 小结
第四篇 Spring2.5
第17章Spring概述
17.1 Spring简介
17.1.1 Spring项目历史
17.1.2 Spring的由来
17.1.3 Spring2.5 带来的新特性
17.2 Spring的基本概念
17.2.1 Spring的组成结构
17.2.2 什么是IoC
17.2.3 什么是AOP
17.3 为什么要使用Spring
17.3.1 何谓轻量级(Lightweight)
17.3.2 Spring带来了什么
17.3.3 Spring的优势
17.3.4 其他轻量级容器
17.4 小结
第18章 Spring入门
18.1 下载与安装Spring
18.1.1 下载Spring
18.1.2 安装Spring
18.2 第一个Spring程序
18.2.1 IoC示例
18.2.2 AOP示例
18.3 小结
第19章 Spring的IoC
19.1 Bean工厂
19.1.1 创建Bean工厂
19.1.2 使用多个文件
19.1.3 获取Bean
19.1.4 BeanFactory的其他方法
19.2 配置Bean
19.2.1 Bean的定义
19.2.2 Bean命名约定
19.2.3 Bean的别名
19.3 依赖
19.3.1 Setter注入
19.3.2 构造函数注入
19.3.3 引用其他的Bean(协作者)
19.3.4 使用depends-on
19.3.5 注入集合类
19.3.6 自动装配
19.4 Bean的特性
19.4.1 Bean的作用域
19.4.2 改变Bean的行为
19.4.3 Bean的生命周期
19.5 利用ApplicationContext
19.5.1 利用MessageSource实现国际化
19.5.2 事件处理
19.5.3 底层资源的访问
19.5.4 延迟初始化Bean
19.5.5 ApplicationContext在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的AOP
20.1 SpringAOP简介
20.1.1 AOP的概念
20.1.2 AOP的术语
20.1.3 Spring的AOP有何特点
20.1.4 SpringAOP的功能和目标
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.3 XML方式配置AOP
20.3.1 声明一个切面
20.3.2 声明一个切入点
20.3.3 声明通知
20.3.4 通知参数
20.3.5 使用引入
20.3.6 使用@AspectJ还是XML配置AOP
20.4 Spring2.5 以前的AOP
20.4.1 声明切面
20.4.2 创建通知
20.4.3 配置文件
20.4.4 运行实例
20.5 小结
第21章 Spring的MVC框架
21.1 SpringMVC简介
21.1.1 SpringMVC的结构
21.1.2 SpringWebMVC框架的特点
21.2 DispatcherServlet的功能
21.2.1 在Web服务器中配置DispatcherServlet
21.2.2 加载Bean配置文件
21.2.3 SpringWeb应用的上下文
21.3 控制器(Controller)
21.3.1 基类AbstractController
21.3.2 其他实用的控制器
21.4 处理器映射(HandlerMapping)
21.5 视图解析器
21.6 Spring对视图的支持
21.6.1 Spring的标签库
21.6.2 Spring的主题
21.7 MVC的完整实例
21.7.1 配置web.xml
21.7.2 创建Controller
21.7.3 视图解析器
21.7.4 JSP页面
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.3 Spring下完成远程访问
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.5 Spring中的定时调度(Scheduling)
22.5.1 创建定制的Timers
22.5.2 直接调度JavaBean
22.6 Spring中的线程池
22.6.1 使用TaskExecutor接口
22.6.2 Spring自带Executor实现
22.7 事务管理
22.7.1 编程式事务管理
22.7.2 声明式事务管理
22.8 使用JDBC进行数据访问
22.8.1 JdbcTemplate类
22.8.2 DataSource接口
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 实战inMyEclipse
23.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.3 DAO类
23.2.4 添加事务管理
23.3 测试
23.4 小结
第五篇 Struts2+Spring2.5 +Hibernate3实例
第24章 综合使用Struts+Hibernate+Spring开发图书管理系统
24.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.1 Struts的配置文件
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.5 Spring整合业务层
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 小结
Struts + Hibernate + Spring + Eclipse
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!