目前,很多企业应用中都会使用各种框架技术,其中Struts2、Hibernate、Spring是三个常用的Java EE开源框架,掌握这些主流框架技术是很多企业对开发人员的基本要求。本书将这三大框架“一网打尽”,是一把开启Java EE开源框架世界的钥匙。本教材主要分为三个部分,每部分学习一个框架,而每部分却不是孤立的,教材使用一个案例贯穿始终。在每个部分,都将结合学习到的新技能不断修改完善案例,直到最终将三大框架都应用到了案例当中,能够帮助读者深入理解三大框架如何应用在真实应用中。
本书适合各层次的Java EE开发人员阅读。
第一部分 Struts2框架
第1章 Struts2快速入门
1.1 Struts2概述
1.2 Struts2简单实例
1.3 实例的运行过程
1.4 Struts2的特点
1.5 教材案例准备
1.6 本章小结
第2章 Struts2的控制器
2.1 过滤器
2.2 拦截器
2.3 Action
2.4 本章小结
第3章 自定义拦截器
3.1 编写拦截器类 第一部分 Struts2框架
第1章 Struts2快速入门
1.1 Struts2概述
1.2 Struts2简单实例
1.3 实例的运行过程
1.4 Struts2的特点
1.5 教材案例准备
1.6 本章小结
第2章 Struts2的控制器
2.1 过滤器
2.2 拦截器
2.3 Action
2.4 本章小结
第3章 自定义拦截器
3.1 编写拦截器类
3.2 配置使用拦截器
3.3 本章小结
第4章 Struts2框架的Action
4.1 Action接口
4.2 Action类中的方法
4.3 将多个Action类“合并”
4.4 Action类的不同调用方式
4.5 本章小结
第5章 Action类与Servlet API
5.1 使用ActionContext
5.2 使用ServletActionContext
5.3 IoC方式
5.4 ActionContext使用实例
5.5 本章小结
第6章 Action类封装请求参数
6.1 Field-Driven方式
6.2 Model-Driven方式
6.3 本章小结
第7章 Action类的属性
7.1 Action是多实例的
7.2 Action属性封装请求参数
7.3 Action属性传递对象
7.4 Action属性封装Action配置参数
7.5 JSP文件中如何获得Action属性
7.6 本章小结
第8章 值栈与OGNL
8.1 值栈
8.2 OGNL
8.3 本章小结
第9章 国际化
9.1 哪些内容需要国际化
9.2 Struts2国际化资源文件
9.3 struts.properties文件
9.4 使用国际化资源文件
9.5 使用多个国际化资源文件
9.6 本章小结
第10章 输入校验
10.1 ActionSupport类
10.2 JSP中显示校验信息
10.3 input视图
10.4 手工校验方式
10.5 Action中使用国际化资源文件
10.6 校验器校验
10.7 类型转换
10.8 本章小结
第11章 Struts2标签
11.1 Struts2标签库概述
11.2 表单UI标签
11.3 非表单UI标签
11.4 控制标签
11.5 数据标签
11.6 本章小结
第12章 Struts2异常处理
12.1 Model层抛出异常
12.2 Action中直接捕获异常
12.3 在struts.xml中声明异常映射
12.4 本章小结
第13章 Struts2的Ajax支持
13.1 Ajax简介
13.2 Ajax简单案例
13.3 struts2中对Ajax的支持
13.4 本章小结
第14章 配置文件总结
14.1 web.xml
14.2 struts.xml
14.3 struts.properties
14.4 本章小结
第二部分 Hibernate框架
第1章 Hibernate快速入门
1.1 Hibernate概述
1.2 常用API
1.3 Eclipse中开发Hibernate应用
1.4 本章小结
第2章 Hibernate核心知识点
2.1 持久化类
2.2 对象状态
2.3 Hibernate属性配置
2.4 ORM映射基础
2.5 HQL语言
2.6 本章小结
第3章 HQL语言详解
3.1 from子句
3.2 select子句
3.3 聚集函数
3.4 where子句
3.5 order by子句
3.6 group by子句
3.7 子查询
3.8 本章小结
第4章 粒度设计
4.1 基于设计的粒度设计
4.2 基于性能的粒度设计
4.3 本章小结
第5章 关联关系映射
5.1 关联的方向与数量
5.2 一对多/多对一
5.2.1 基于主外键的一对多/多对一关联
5.2.2 基于连接表的一对多/多对一关联
5.3 一对一关联
5.3.1 基于主键的一对一关联
5.3.2 基于唯一外键的一对一关联
5.4 多对多关联
5.5 关联映射配置文件
5.6 连接查询
5.7 本章小结
第6章 继承关系映射
6.1 本章实例准备
6.2 TPS(Table Per SubClass)
6.3 TPH(Table Per Class Hierarchy)
6.4 TPC(Table Per Concrete Class)
6.5 多态查询
6.6 本章小结
第7章 Hibernate性能提升
7.1 批量操作
7.2 延迟加载
7.3 batch-size属性
7.4 本章小结
第8章 整合Struts/Hibernate
第9章 Hibernate4快速入门
9.1 新特性概述
9.2 常用的Annotation
9.3 本章小结
第三部分 Spring框架
第1章 Spring概述
1.1 Spring框架的模块
1.2 使用Eclipse开发Spring应用
1.3 本章小结
第2章 IoC(控制反转)
2.1 什么是IoC
2.2 IoC的使用
2.3 需要使用IoC的对象
2.4 如何实例化bean
2.5 setter注入和构造器注入
2.6 属性值的配置方式
2.7 集合类型属性配置
2.8 bean的作用域
2.9 bean的初始化和析构
2.10 IoC的技术基础
2.10.1 反射技术
2.10.2 JavaBean自省技术
2.11 IoC使用实例(教材案例)
2.12 本章小结
第3章 AOP(面向切面编程)
3.1 AOP中的术语
3.2 Spring AOP快速入门
3.3 不同类型的Advice
3.4 使用Advisor
3.5 Spring AOP的技术基础
3.5.1 代理模式
3.5.2 动态代理
3.6 本章小结
第4章 Spring整合Struts2
4.1 导入必要的类库
4.2 配置web.xml文件
4.3 修改Struts2框架的Action类
4.4 修改struts.properties文件
4.5 修改struts.xml文件
4.6 修改applicationContext.xml
4.7 本章小结
第5章 Spring整合JDBC
5.1 为什么要整合JDBC
5.2 Spring JDBC包结构
5.3 JdbcTemplate类
5.4 获得JdbcTemplate实例
5.5 JdbcTemplate使用实例
5.6 本章小结
第6章 Spring整合Hibernate
6.1 创建SessionFactory
6.2 HibernateTemplate类
6.3 Spring整合Hibernate的实例
6.4 本章小结
第7章 Spring中的事务管理
7.1 平台事务管理器接口
7.2 编程式事务管理
7.3 声明式事务管理
7.4 本章小结
第8章 SSH整合实例
第9章 Spring3快速入门
9.1 Spring表达式语言
9.2 Bean配置元数据
9.3 本章小结
附录A 企业关注的技能
第一部分 Struts2框架
第二部分 Hibernate框架
第三部分 Spring框架
序
当我翻阅了“中软国际卓越人才培养系列丛书”后,不禁为这套丛书的立意与创新之处感到欣喜。教育部“卓越工程师教育培养计划”有三个主要特征:一是行业企业深度参与培养过程;二是学校按通用标准和行业标准培养工程人才;三是强化培养学生的工程能力和创新能力。这套丛书紧紧围绕“卓越计划”的要求展开,以企业人才需求为前提,同时又充分考虑了高校教育的特点,能让企业有效参与高校培养过程,是一套为“卓越计划”量身打造的丛书。
丛书的设计理念紧扣中软国际ETC的“5R”理念,即真实的企业环境、真实的项目经理、真实的项目案例、真实的工作压力、真实的就业机会,切实地将企业真实需求展现给读者。丛书中的知识点力求精简、准确、实用,显然是编著者经过反复推敲并精心设计的成果。丛书中对企业用之甚少的知识点,都进行了弱化,用较少篇幅讲解,而对于企业关注的知识点,都使用非常详尽的内容进行学习。这样的设计对初学者尤其是在校学生非常必要,能够节省很多学习时间,在有限的时间内学习到企业关注的技能,而不是花费很多精力去钻研并不实用的内容。
丛书非常强调“快速入门”这一法宝,能够对某门技术“快速入门”永远是激发学习兴趣的关键。丛书设计了很多“快速入门”章节,使用详尽丰富的图示以及代码示例,保证读者只要根据丛书的指导进行操作,就能够尽快构建出相关技术的实例。
丛书非常注重实际操作,很多知识点都是从提出问题引出,从而在解决这个问题的过程中讲解相关的技能。丛书中没有大篇幅的理论描述,尽力用最通俗、最简练的语言讲解每一个问题,而不是“故作高深”地使用很多新名词。
非常值得一提的是,丛书配备了对应的PPT讲义,并将PPT讲义显示到了相应章节,这种形式令人耳目一新。首先能起到提纲挈领的作用,帮助读者快速了解每个章节的主要内容,掌握完整的知识体系。另外,这种方式非常适合在高校教学中使用,能够完全与教材同步,方便学生课后复习及课前预习,可以有效提高教学效果。
这套丛书是中软国际多年行业经验的积累和沉淀,也是众多编者智慧与汗水的结晶,一定能在校企合作的道路上发挥积极长远的作用。
国家示范性软件学院建设工作办公室副主任
北京交通大学软件学院院长
前言
“框架”一词是很长一段时间来,在JavaEE开发领域炙手可热的一个名词。目前存在很多种框架技术,能够有效解决JavaEE应用开发中很多通用的问题,其中Struts2、Hibernate以及Spring是目前使用较多的三个框架,每个框架专注于解决不同的问题,非常有代表性。本书将这三个框架“一网打尽”,提取每个框架中常用的内容,旨在帮助读者在有限时间内,能够掌握这三个框架在企业应用中最常用的功能,从而胜任Web应用开发。
Struts2框架是一个MVC框架;Hibernate框架是一个ORM框架;而Spring框架是一个综合性的框架,是一个轻量级的解决方案。这三个框架往往各司其职,在应用中的不同层面发挥作用。本书分为三个部分,每个部分学习一个框架,而这三个部分并不是互相独立的,而是设计了一个“教材案例”将这三部分联系在一起。在教材的第一部分,设计了一个“教材案例”,这个案例没有复杂的业务逻辑,主要作用是辅助学习相关知识点。第一部分结束,使用了Struts2框架以及JDBC技术实现了这个案例。第二部分学习Hibernate,使用Hibernate框架替代了JDBC编程,完善了“教材案例”。第三部分学习Spring,使用Spring框架整合了Struts2、Hibernate,使得最终的“教材案例”中使用了三个框架进行实现。这样的设计和编写思路,能够帮助读者真正理解每个框架的作用,能够正确选择合适的框架解决问题。
编者认为,“快速入门是提高兴趣的捷径”。框架是相对比较复杂的技术,如果能帮助读者快速搭建其开发运行环境,并顺利部署运行成功第一个应用,那无疑会有效地提高读者兴趣。有了学习兴趣,掌握相关技术将不再是一件难事。教材中处处围绕这个思路展开,任何一个新的知识点,都尽量避免过于冗长的理论铺垫,而是先从简单的实例开始。相关实践步骤都配有详细截图和代码说明,能够帮助读者从“使用”开始,保证较好的学习效果。
本书配套的PPT也显示在对应的章节,这样的设计能够帮助读者快速了解每个章节的主要内容,起到提纲挈领的作用,也能够帮助读者建立一个完整的知识结构,而不仅仅是掌握了一些凌乱的知识点。另外,这样的设计也使得本书非常适合作为高校中JavaEE主流框架相关课程的教材,能够方便教师授课,保证授课思路及内容与教材完全匹配、完全同步,从而达到较好的教学效果。另外,附录部分提供了企业关注的技能点,并从企业的角度给予了解析,能够帮助读者进一步整理书中内容,掌握企业需要的技能。
本书所有配套讲义、源代码及视频均可到华信教育资源网(www.hxedu.com.cn)免费下载。
“中软国际卓越人才培养系列丛书”由中软国际唐振明担任丛书主编。本书由王晓华、修雅慧、徐志立、李沁蓉、万安琪、高飞、程涛等编写,由王晓华统编和定稿。
在编写本书的过程中,得到了很多领导、同事以及朋友的帮助。感谢中软国际的所有领导以及CTO办公室的所有同事,是他们的帮助、鼓励以及支持才有这本书的问世。感谢电子工业出版社的编辑们,如果没有他们的辛苦工作以及真诚建议,这本书的出版将不会这么顺利。
由于编者水平有限,也由于时间仓促,书中一定存在一些不尽如人意的地方,甚至会有一些错误。如果您发现了任何内容方面的问题,烦请一定通知我们(wangxh@chinasofti.com),我们将争取尽快勘误。
编者