内容简介
本书是《轻量级Java EE企业应用实战》的第4版,第4版保持了前几版内容全面、深入的特点,主要完成全部知识的升级。
本书介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。其中Struts 2升级到2.3.16.3,Spring升级到4.0.4,Hibernate升级到4.3.5。本书还全面介绍了Servlet 3.1的新特性,以及Tomcat 8.0的配置和用法,本书的示例也应该在Tomcat 8.0上运行。
本书重点介绍如何整合Struts 2.3+Spring 4.0+Hibernate 4.3进行Java EE开发,主要包括三部分。第一部分介绍了Java EE开发的基础知识,以及如何搭建开发环境。第二部分详细讲解了Struts 2.3、Spring 4.0和Hibernate 4.3三个框架的用法,介绍三个框架时,以Eclipse IDE的使用来上手,一步步带领读者深入三个框架的核心。这部分内容是笔者讲授“疯狂Java实训”的培训讲义,因此是本书的重点部分。这部分内容既包含了笔者多年开发经历的领悟,也融入了丰富的授课经验。第三部分示范开发了一个包含7个表,表之间具有复杂的关联映射、继承映射等关系,且业务也相对复杂的工作流案例,希望让读者理论联系实际,将三个框架真正运用到实际开发中去。该案例采用目前行、范的Java EE架构,整个应用分为领域对象层、DAO层、业务逻辑层、MVC层和视图层,各层之间分层清晰,层与层之间以松耦合的方法组织在一起。该案例既提供了IDE无关的、基于Ant管理的项目源码,也提供了基于Eclipse IDE的项目源码,限度地满足读者的需求。
本书不再介绍Struts 1.x相关内容,如果读者希望获取《轻量级J2EE企业应用实战》第1版中关于Struts 1.x的知识,请登录http://www.crazyit.org下载。当读者阅读此书遇到技术难题时,也可登录http://www.crazyit.org发帖,笔者将会及时予以解答。
目录
第1章 Java EE应用和开发环境 1
1.1 Java EE应用概述 2
1.1.1 Java EE应用的分层模型 2
1.1.2 Java EE应用的组件 3
1.1.3 Java EE应用的结构和优势 4
1.1.4 常用的Java EE服务器 4
1.2 轻量级Java EE应用相关技术 5
1.2.1 JSP、Servlet 3.x和JavaBean及替代技术 5
1.2.2 Struts 2.3及替代技术 5
1.2.3 Hibernate 4.3及替代技术 6
1.2.4 Spring 4.0及替代技术 6
1.3 Tomcat的下载和安装 7
1.3.1 安装Tomcat服务器 7
1.3.2 配置Tomcat的服务端口 9
1.3.3 进入控制台 9
1.3.4 部署Web应用 12
1.3.5 配置Tomcat的数据源 12
1.4 Eclipse的安装和使用 14
1.4.1 Eclipse的下载和安装 14
1.4.2 在线安装Eclipse插件 14
1.4.3 从本地压缩包安装插件 16
1.4.4 手动安装Eclipse插件 17
1.4.5 使用Eclipse开发Java EE应用 17
1.4.6 导入Eclipse项目 20
1.4.7 导入非Eclipse项目 21
1.5 Ant的安装和使用 22
1.5.1 Ant的下载和安装 22
1.5.2 使用Ant工具 23
1.5.3 定义生成文件 24
1.5.4 Ant的任务(task) 29
1.6 Maven的安装和使用 31
1.6.1 下载和安装Maven 31
1.6.2 设置Maven 32
1.6.3 创建、构建简单的项目 33
1.6.4 Maven的核心概念 36
1.6.5 依赖管理 41
1.6.6 POM文件的元素 44
1.7 使用SVN进行协作开发 44
1.7.1 下载和安装SVN服务器 45
1.7.2 配置SVN资源库 46
1.7.3 下载和安装SVN客户端 47
1.7.4 将项目发布到服务器 48
1.7.5 从服务器下载项目 48
1.7.6 提交(Commit)修改 49
1.7.7 同步(Update)本地文件 49
1.7.8 添加文件和目录 50
1.7.9 删除文件和目录 50
1.7.10 查看文件或目录的版本变革 51
1.7.11 从以前版本重新开始 51
1.7.12 创建分支 52
1.7.13 沿着分支开发 52
1.7.14 合并分支 53
1.7.15 使用Eclipse作为SVN客户端 54
1.8 本章小结 57
第2章 JSP/Servlet及相关技术详解 58
2.1 Web应用和web.xml文件 59
2.1.1 构建Web应用 59
2.1.2 配置描述符web.xml 60
2.2 JSP的基本原理 61
2.3 JSP的4种基本语法 65
2.3.1 JSP注释 65
2.3.2 JSP声明 66
2.3.3 输出JSP表达式 67
2.3.4 JSP脚本 68
2.4 JSP的3个编译指令 70
2.4.1 page指令 70
2.4.2 include指令 74
2.5 JSP的7个动作指令 75
2.5.1 forward指令 75
2.5.2 include指令 77
2.5.3 useBean、setProperty、getProperty指令 79
2.5.4 plugin指令 81
2.5.5 param指令 81
2.6 JSP脚本中的9个内置对象 82
2.6.1 application对象 83
2.6.2 config对象 88
2.6.3 exception对象 90
2.6.4 out对象 92
2.6.5 pageContext对象 93
2.6.6 request对象 95
2.6.7 response对象 102
2.6.8 session对象 106
2.7 Servlet介绍 108
2.7.1 Servlet的开发 108
2.7.2 Servlet的配置 110
2.7.3 JSP/Servlet的生命周期 111
2.7.4 load-on-startup Servlet 112
2.7.5 访问Servlet的配置参数 113
2.7.6 使用Servlet作为控制器 115
2.8 JSP 2的自定义标签 119
2.8.1 开发自定义标签类 120
2.8.2 建立TLD文件 120
2.8.3 使用标签库 121
2.8.4 带属性的标签 122
2.8.5 带标签体的标签 125
2.8.6 以页面片段作为属性的标签 128
2.8.7 动态属性的标签 129
2.9 Filter介绍 131
2.9.1 创建Filter类 132
2.9.2 配置Filter 133<
摘要与插图
前 言经过多年沉淀,Java EE平台已经成为电信、金融、电子商务、保险、证券等各行业的大型应用系统的选开发平台。目前Java行业的软件开发已经基本稳定,这两三年内基本没有出现什么具有广泛影响力的新技术。Java EE开发大致可分为两种方式:以Spring为核心的轻量级Java EE企业开发平台;以EJB 3+JPA为核心的经典Java EE开发平台。无论使用哪种平台进行开发,应用的性能、稳定性都有很好的保证,开发人群也有很稳定的保证。
本书介绍的开发平台,就是以Struts 2.3+Spring 4.0+Hibernate 4.3(实际项目中可能以JPA来代替Hibernate)为核心的轻量级Java EE,这种组合在保留经典Java EE应用架构、高度可扩展性、高度可维护性的基础上,降低了Java EE应用的开发、部署成本,对于大部分中小型企业应用是第一选。在一些需要具有高度伸缩性、高度稳定性的企业应用(比如银行系统、保险系统)里,以EJB 3+JPA为核心的经典Java EE应用则具有一定的占有率。本书姊妹篇《经典Java EE企业应用实战》主要介绍了后一种Java EE开发平台。
本书主要升级了《轻量级Java EE企业应用实战》的知识,本书采用的Tomcat 8作为Web服务器,全面而细致地介绍了Servlet 3.1的新特性,并将Struts 2升级到Struts 2.3.16.3,Spring升级到4.0.4,Hibernate升级到4.3.5。详细介绍了Spring和Hibernate的“零配置”特性,并充分介绍了Struts 2的Convention(约定)支持。为了顺应技术的改变,本书介绍Hibernate持久化映射已经全部升级为注解方式,不再采用传统的XML映射方式;本书还详细介绍了Spring 3.1新增的缓存机制,包括使用@Cacheable执行缓存、使用@CacheEvict清除缓存等、也详细介绍了Spring 4.0的改变,包括增强的自动装配和装配等。
本书创作感言
笔者先要感谢广大读者对本书前几版的认同,本书前几版累计发行近十万册,并获得中国书刊发行业协会颁发的“2011年度全行业品种”大奖,且多次获得电子工业出版社颁发的“销图书奖”。是广大读者的选择让“疯狂Java体系”图书大放异彩;是广大读者的支持让我在孤独的技术创作道路上坚持求索;是广大读者的反馈让“疯狂Java体系”图书日臻。
广大读者的热情对我来说既是支持,又是责任——“疯狂Java体系”图书有责任必须!因此笔者在改进、升级“疯狂Java体系”图书时,有一种如履薄冰的感觉,希望以的努力来贡献的作品。
另外,本书还有一本配套的姊妹篇:《经典Java EE企业应用实战》。学习本书时可以采用“轻经合参”的方式来学习:“轻”指的是以“SSH”整合的轻量级Java EE开发平台,“经”指的是以“EJB3+JPA”整合的经典Java EE开发平台;这两种平台本身具有很大的相似性,将两种Java EE开发平台结构放在一起参考、对照着学习,能更好地理解Spring、Hibernate框架的设计思想,从而更深入地掌握它们。与此同时,也可以深入理解EJB 3与Spring容器中的Bean、EJB容器与Spring容器之间的联系和区别,从而融会贯通地掌握EJB3+JPA整合的开发方式。
在介绍专业的编程知识之时,笔者总会通过一些浅显的类比来帮助读者更好地理解。“简单、易读”成为笔者一贯坚持的创作风格,也是“疯狂Java体系”图书的。另一方面,“疯狂Java体系”图书的知识也很全面、实用。笔者希望读者在看完“疯狂Java体系”的图书之后,可以较为轻松地理解书中所介绍的知识,并切实学会一种实用的开发技术,进而将之应用到实际开发中。万一读者在学习过程中遇到无法理解的问题,可以登录疯狂Java联盟(http://www.crazyit.org)与广大Java学习者交流,笔者也会通过该平台与大家一起交流、学习。