Java EE(SSH框架)软件项目开发案例教程pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:Java EE(SSH框架)软件项目开发案例教程pdf/doc/txt格式电子书下载
推荐语:
作者:牛德雄编
出版社:电子工业出版社
出版时间:2016-04-01
书籍编号:30468332
ISBN:9787121284823
正文语种:中文
字数:159711
版次:1
所属分类:教材教辅-中职/高职
版权信息
书名:Java EE(SSH框架)软件项目开发案例教程
作者:牛德雄
ISBN:9787121284823
版权所有 · 侵权必究
前言
本书介绍使用SSH框架技术开发基于Java EE的Web应用程序。Java EE又称J2EE,即 Java 2企业版(Java 2 Enterprise Edition),用于开发企业级Web应用。Java EE通过提供中间层集成框架来满足各种应用需求。Java EE架构具有高可用性、高可靠性、高扩展性,并且成本低,是企业构建Web应用平台的首选。而Java EE架构通常选用SSH框架作为其开发框架。
SSH为Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。若把Struts 2、Spring、Hibernate三个框架合理结合,不仅可以大幅度提高系统的开发效率,而且能提高系统的稳定性、健壮性与安全性。
本书介绍了Java EE开发使用的三大开发框架Struts 2、Hibernate与Spring及其整合使用。
●Struts 2开发。
围绕Struts 2开发Action和Struts 2标签的应用,介绍使用Action构建MVC程序结构,以实现属性驱动与模型驱动的项目开发;使用Struts 2标签实现丰富的交互界面以及方便地实现与其他层的数据交互。
●Hibernate开发。
主要介绍了使用Hibernate框架实现ORM封装,以对MySQL数据库进行操作,从而实现数据处理层DAO。通过案例着重介绍了使用Hibernate对常见的双向一对多级联操作方法及其技术要点;通过实例详细介绍了HQL语言的应用、Hibernate注解方式操作、MyBatis持久层框架。
●Spring开发。
主要以AOP和IoC的知识作为切入点,遵循实用的原则,以案例实现的方式介绍了Spring对对象管理的作用,以及在SSH整合开发中的重要功能。熟练掌握Spring的应用之后,读者可以利用SSH整合的优势,将有限的精力用在业务逻辑处理实现的“刀刃”上。
本书采用项目案例为导向(以案例实现进行内容组织),逐步介绍基于SSH框架实现Web应用系统。本书主要介绍在Tomcat、MyEclipse、MySQL等工具环境下采用MVC模式进行 Java Web应用编程。首先介绍使用Struts 2框架技术搭建MVC应用程序结构,并进行交互式视图层编程;然后介绍Hibernate框架的使用与配置,分别介绍了采用XML方式和注解方式进行ORM映射关系的配置与编程;接着介绍采用Spring框架技术对对象进行管理,分别对Spring核心技术IoC和AOP及其应用进行详细介绍;最后,本书通过一个完整的SSH实现案例,展示通过综合应用SSH框架实现一个项目的技术与过程。
本书试图突破传统的侧重Java EE技术细节介绍的形式,以“项目驱动、任务导向”的方式进行内容组织。首先以项目案例的实现为先导,让读者了解某项技术的应用,引导读者对这些技术实现感兴趣,激起其探索该技术实现原理与理论知识的愿望。然后通过有目的的学习,消化并掌握书中介绍的知识点及实现技术。
本书介绍的相关技术具有连贯性,从介绍Java EE体系出发,首先介绍基于MVC的Web应用程序的实现,然后分别介绍使用Struts 2实现MVC程序架构以及视图层编程、使用Hibernate实现数据处理(DAO)层、使用Spring的IoC与AOP技术对对象进行管理。最后,介绍综合应用这些技术进行SSH集成技术下的应用程序开发。
本书适合具有一定的Java、JSP编程基础及数据库基本知识的读者学习。本书配有29个系列案例源代码,这些案例代码均经过调试可以运行。书中介绍了这些案例的实现过程,读者可以按照书中介绍的案例实现步骤自行实现。读者可借助这些案例引导,逐步掌握使用SSH框架进行综合应用软件项目的开发。书中最后一章介绍了一个综合案例的设计与实现,以便读者掌握SSH框架的综合项目开发。
本书由牛德雄和杨玉蓓担任主编,熊君丽承担了第6章、第7章的编写;刘晓林、陈华政、陈清雨承担了部分章节的编写,并对该书的完成提出了大量有益的建议。广州迈峰网络科技有限公司的彭靖翔工程师参与了本书教学案例的设计及教学内容的设计,魏云柯设计了本书部分图形,在此一并表示感谢。
为了方便教师教学,本书配有电子教学课件及相关资源,请有此需要的教师登录华信教育资源网(www.hxedu.com.cn)免费注册后下载,如有问题,可以在网站留言板留言或与电子工业出版社联系(E-mail:hxedu@phei.com.cn)。也可以通过178074603@qq.com与编者联系,或者进入QQ交流群(375571590)获取更多学习资源。
由于时间仓促,书中难免存在疏漏和不足,恳请同行专家和读者给予批评和指正。
编者
第1章 Java EE Web软件开发简介
本章学习目标
● 了解Java EE和SSH框架的基本概念及其相互关系。
● 了解Java EE Web程序开发及环境搭建。
● 掌握 MVC 模式的程序开发概念以及通过 JSP、Servlet、JavaBean、MySQL 开发基于MVC的Web应用程序。
● 基本了解SSH各框架在MVC模式应用程序中的作用。
Java EE是基于Java平台的适合大型软件开发的技术,它继承了Java面向对象等优点,并且提供了多种组件,以快速地进行大型软件的开发。目前,Java EE技术的应用越来越广泛。Struts、Spring、Hibernate框架技术(简称SSH框架)是基于Java EE架构的MVC模式实现技术,利用它们可以快速地搭建基于Java EE的Web应用程序。
本章介绍了Java EE、SSH框架、MVC设计模式等概念以及这些概念之间的关系,介绍了Java EE Web程序开发及环境搭建。并通过案例介绍了如何使用JSP、Servlet、JavaBean、MySQL开发MVC模式的Web应用程序及数据应用程序。
最后,介绍了SSH各框架的基本内容以及它们在MVC模式应用程序中的作用,为后续章节的学习奠定基础。
1.1 概述
1.1.1 Java EE简介
Java EE(Java Platform Enterprise Edition)是SUN公司推出的企业级应用程序开发工具,是一套设计、开发、汇编和部署企业应用程序的规范,它的目的与核心是提供一些相应的服务,帮助我们开发和部署可移植、健壮、可伸缩且安全的企业级的Java Web应用程序。Java EE是用Java 2开发企业级应用的工具,以前它被称为J2EE。在软件构成方面,Java EE 5是J2EE的一个新的版本,该版本在以前的基础上做了很多改动,也增加了很多内容。
Java EE在Java SE(Java Platform Standard Edition,即Java开发工具标准版,是Java的核心)基础上构建而成,它创建了自己的架构体系,主要包括Java Web应用开发技术组件。这些技术包括表示层技术、中间层技术、数据层技术。Java EE还涉及系统集成的一些技术。所有这些技术组件构成了Java EE架构体系。
Java EE的组件均是一些具有独立功能的单元,它们通过相关的类和文件组装成Java EE应用程序,并与其他组件交互。Java EE所包含的一系列技术有EJB、JDBC、Servlet、JSP、JNDI、JSF、JavaBean、JMS等,对于Web开发人员来说,关键是掌握Web组件技术、JDBC编程以及常用框架(例如Struts、Hibernate、Spring框架)等。
1.1.2 SSH框架
所谓框架(Framework),就是已经开发好的一组软件组件,程序员可以利用它来快速地搭建自己的应用软件。软件框架就好像建筑物的骨架和大的构件,由它们来构建应用软件系统,要比通过一条一条语句进行编程快很多。
从技术角度看,框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。
通过框架技术不仅能快速地构建自己的软件项目,而且能克服自编软件某些质量属性的缺陷问题。因为在设计软件架构时,设计者已经对其进行了充分的考虑(如负载均衡等)。所以,目前采用框架技术进行软件开发是程序员的首选。
所谓SSH框架就是Struts、Spring、Hibernate三个框架的简称,它们是在Java EE基础上创建的用于快速构建用户应用系统的软件框架。Struts、Spring、Hibernate三个框架与Java EE的关系如图1-1所示。
图1-1 SSH框架、Java EE及应用程序的关系
图1-1显示,在Java家族中,SSH三大框架以Java EE为基础环境。而Java EE又是以Java SE为基础,也可以说是Java SE的延伸。上节已述,Java EE提供了大量的组件,这些技术提供了SSH框架的基础环境,在此环境中使用SSH框架能为程序员进行应用程序开发带来极大的便利。另外,SSH三大框架集成在一起,能为Java程序员提供更为便利的开发环境。
1.1.3 MVC模式软件开发
为了清楚地了解SSH框架的作用,我们先要了解应用程序的三层结构及其作用。
1.三层结构应用程序的开发
当然,我们不利用所谓的三层结构也能编写应用软件,但由软件工程介绍的软件设计原则可知,这样的软件具有高度耦合性及弱内聚性,这样的软件不利于进行维护与修改,也不利于任务分工与团队开发。
其实,一个典型的应用软件可以包括这些部分:展现给用户界面的编码、业务处理模块编码、数据访问处理编码几个部分。如果这些部分放在一起编程,则应用软件内部各元素耦合性非常高。现在人们常将它们分开来开发,然后再将它们集成、组装成一个整体软件。
应用程序的三层结构如下。
● 表示层:由用户界面和用户生成界面的代码组成,本书介绍的软件表示层主要是以JSP网页形式表示的Web页面。
● 业务逻辑层(也称中间层):主要是针对具体问题的操作处理代码,包含系统的业务和功能代码。
● 数据访问层:主要是由原始数据(如数据库或数据文件)的操作代码组成,负责完成存取原始数据和对数据进行封装。也就是说,是对数据的操作,而不是数据库,它为业务逻辑层或表示层提供数据服务。
2.MVC模式应用程序开发
MVC是一种设计模式。所谓的设计模式是对一套被反复使用、成功设计的总结与提炼,从而形成的固定开发方式。而MVC设计模式是将软件的代码分为M、V、C三层来实现的一种设计方案,是上述三层程序结构的一种具体实现。
MVC是Model-View-Controller的缩写,表示模型(Model)-视图(View)-控制器(Controller)。它将业务逻辑和数据显示代码分离,将业务逻辑处理放到一个部件里面,而将界面及用户围绕数据展开的操作单独分离出来。
MVC是一种常用的设计模式,它强制性地使模块中的输入、处理和输出分开,它们各自处理自己的任务。MVC减弱了业务逻辑接口和数据接口之间的耦合,并可以让视图层更富于变化。
(1)模型(Model)。
模型表示业务数据和业务规则。在MVC的3个部件中,模型拥有最多的处理任务。例如,它可能封装数据库连接、业务数据库处理等构件,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以能提高代码的重用性。模型一般用JavaBean技术实现。
JavaBean 是一种用Java语言写成的可重用组件。为写成JavaBean,类必须按照一定规范进行编写,它通过提供符合一致性设计模式的公共方法在内部域暴露成员属性。换句话说,JavaBean就是一个Java的类,只不过这个类要按一些规则来写,如类必须是公共的、有无参构造器,要求属性是private且需通过setter/getter方法取值等。按这些规则写了之后,这个Java类就是一个JavaBean,它可以在程序里被方便地复用,从而提高开发效率。
MVC的模型层就是由这些JavaBean构成的模型组成,它们在服务器端承担了软件大部分复杂计算,其结果的使用需要由控制器控制及在视图中展现。
(2)视图(View)。
视图是用户看到并与之交互的界面。对旧式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术层出不穷,如Adobe Flash以及包括XHTML、XML、WML在内的一些标识语言。JSP作为动态网页常常充当Web应用的视图层。
MVC的好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储在哪里,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
(3)控制器(Controller)。
控制器接收用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。
典型的MVC设计模式有基于JSP+JavaBean+Servlet技术实现的Java Web程序。Struts、Spring、Hibernate框架是一种基于MVC模式不同层的实现技术,也即通过SSH框架可以方便地实现MVC模式应用程序的开发。
另外,比较好的MVC还有Webwork、Tapestry、JSF、Dinamica、VRaptor等,这些框架都提供了较好的层次分隔能力,它们是在良好的MVC分隔的基础上通过提供一些现成的辅助类库,可促进生产效率的提高。
3.MVC设计模式的优缺点
作为一种设计模式,MVC既有很多优点,也有一些缺点。
MVC的优点表现在耦合性低、重用性高、利于分工开发、可维护性高、有利于软件工程化管理等。
(1)耦合性低。
视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码。同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。
模型和控制器与视图相分离,所以很容易改变应用程序的数据层和业务规则。例如,把数据库从MySQL移植到Oracle只需改变模型即可。由于运用MVC的应用程序的3个部件相互独立,改变其中一个不会影响其他两个,所以依据这种设计构造的软件具有良好的松散耦合性。
(2)重用性高。
MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码,因为多个视图能共享一个模型,包括Web浏览器或无线浏览器。例如,用户可以通过计算机订购某件产品,也可以通过手机来订购此产品。虽然订购的方式不一样,但处理订购商品的方式是一样的,所以对应的模型可以是一样的。
由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。而这些视图只需要改变视图层的实现方式,而控制层和模型层无须做任何改变,所以可以最大化地重用代码。
(3)利于分工开发。
使用MVC模式有利于团队协作开发,从而可使开发时间得到相当大的缩减。它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员、界面美工人员)集中精力于表现形式上。
(4)可维护性高。
由于MVC模式的软件开发具有松散耦合性,它分离视图层和业务逻辑层,从而使得应用程序更易于维护和修改。
(5)有利于软件工程化管理。
由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。控制器也提供了一个好处,就是可以使用控制器连接不同的模型和视图来完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。
另外,由于MVC内部原理比较复杂,理解起来并不很容易。所以,在使用MVC时需要精心地计划,需要花费一些时间去思考。MVC有调试较困难、不利于中小型软件的开发、增加系统结构和实现的复杂性等缺点。
(1)调试较困难。
由于模型和视图分离,这样会给调试应用程序带来一定的困难,所以每个构件在使用之前都需要经过彻底的测试。
(2)不利于中小型软件的开发。
由于花费大量时间将MVC应用到规模并不很大的应用程序,在工作量、成本、时间等方面常常得不偿失,所以开发中小型软件时,可以不选择MVC模式。
(3)增加系统结构和实现的复杂性。
对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行的效率。
(4)视图与控制器间的连接过于紧密。
视图与控制器是相互分离的,但这两个部件之间联系紧密。视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了它们的独立重用。
(5)视图对模型数据的访问效率低。
依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。频繁访问未变化数据是不必要的,也将损害操作性能。
虽然如此,但设计模式为某一类问题提供解决方案,同时又是优化了的代码。它可以使代码更容易被人理解,提高代码的复用性,并保证代码的可靠性。
1.2 Java EE Web程序开发环境
下面介绍基于Java EE 5开发Web应用程序的环境搭建。搭建Java EE 5的方法有很多,本书采用的Java EE 5 Web应用程序开发环境主要需要安装JDK、Tomcat、Eclipse或MyEclipse以及MySQL数据库系统(这些工具的安装及操作介绍请参考本书后面的附录A)。
1.2.1 JDK的安装
同其他Java程序开发一样,Java EE的开发与运行也离不开JDK(Java Development Kit,Java开发工具包)。如果一台计算机上需要开发与运行Java EE程序,首先要安装某个版本的JDK。图1-2所示是一个JDK安装程序。
图1-2 JDK安装程序
安装JDK时,如果选择默认文件夹C:\\Program Files\\Java,则安装后的结果如图1-3所示。
图1-3 JDK安装目录
这就是Java程序的开发与运行环境,在Java安装目录下有两个文件夹:jdk和jre,后面跟的数字是版本号。jdk文件夹是一些Java工具(如,编译工具javac.exe,运行工具java.exe等);而jre文件夹是Java运行时环境(Java Runtime Environment),包含Java运行所必需的一些基础类库(以jar文件形式提供)。
JDK是Java EE开发的基础环境,后面介绍的Web服务器Tomcat及Java EE组件,均要以此为基础。JDK的具体安装见本书附录A中的介绍。
1.2.2 Web服务器Tomcat的安装与配置
简单地说,Web程序是指通过浏览器(如IE等)查看的页面(或称网页)程序,包括静态网页与动态网页。而任何一个Web程序的运行均需要Web服务器的支持。常见的Web服务器有MS IIS、IBM WebSphere、BEA WebLogic、Apache和Tomcat等。
与使用Java开发Web程序一样,使用Java EE进行Web开发常选择Tomcat作为Web服务器。因为Java EE以Java为基础,是在Java Web基础上构建了企业级软件开发组件。Tomcat全名为Jakarta Tomcat,是Apache 软件基金会(Apache Software Foundation)Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱,并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
本书后面的案例均采用Tomcat作为Java EE开发的Web服务器。Tomcat安装程序可以从http://tomcat.apache.org/免费下载获取。Tomcat的具体安装与配置见本书附录A中的介绍。
1.2.3 Eclipse集成开发环境
Java EE的开发环境(IDE)有很多,例如Netbeans、JBuilder、IntelliJ、Eclipse和MyEclipse等。Netbeans是Sun公司自主开发的Java编程IDE工具(Integrated Development Environment,集成开发环境);JBuilder是Borland公司开发的针对Java的开发工具;IntelliJ IDEA是JetBrains公司的产品;而Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境。这些工具均可作为Java EE的开发工具。
Eclipse是一款优秀的集成开发环境。它不仅仅是开发Java的IDE,而且还是C、Python等的IDE。只要开发出相应语言的插件,Eclipse就可以成为任何语言的IDE。
Eclipse是一个开放、免费的软件,具有强大的可扩展插件功能,它从编写、查错、编译、帮助等方面支持Java语言开发。目前,Eclipse是Java软件开发的主流开发工具。在Eclipse中可以安装一个MyEclipse插件来进行Java EE的开发,也可以直接使用Eclipse JEE版本进行Java EE开发。
这些软件可以在http://www.eclipse.org/downloads网站上进行免费下载。Eclipse直接解压就可以运行,用Eclipse开发Java Web应用程序还需要配置JDK与Tomcat,具体操作见本书附录A中的介绍。
另外,可以使用收费软件MyEclipse开发Java EE。MyEclipse集成了完整的Java EE的组件,并且提供了许多可视化的操作与配置功能界面。安装MyEclipse时需要购买其注册号,安装好MyEclipse后再输入该注册号就可以进行Java EE开发了。
其实,开发Java EE需要Java EE组件包的支持,上述各种工具中有的提供了Java EE组件包,有的需要下载Java EE插件包并在IDE中安装。某种IDE只能提高软件开发效率,但对于学习者来说最好还是要先了解其基本原理。
1.2.4 MyEclipse集成开发环境
MyEclipse(MyEclipse Enterprise Workbench,MyEclipse企业级工作平台)是Eclipse的插件,即是对Eclipse IDE的扩展。利用MyEclipse可以在Java EE应用软件开发、发布以及应用服务器的整合方面大幅度地提高效率。MyEclipse是一个优秀的Java、Java Web、Java EE开发工具。MyEclipse是付费软件,它提供功能丰富的Java EE集成开发环境,包括完备的编码、调试、测试和发布功能,完全支持JSP、Struts、Spring、Hibernate等的开发。
本书以常见的MyEclipse 8.5作为Java EE案例的IDE。不同版本的MyEclipse在功能上有一定的差异,但本书中SSH案例是基本操作功能的实现,所以不同版本的MyEclipse对本书案例的开发与运行影响不大。
利用MyEclipse开发Java EE Web程序,需要配置前面安装的JDK及Tomcat。
在MyEclipse中配置JDK操作时,选择Windows→Preferences→MyEclipse→Java→Installed JREs命令,则出现图1-4所示的对话框。单击“Add”按钮,并从对话框中选择前面已经安装的Java/JRE目录,单击“Finish”按钮,则出现图1-4所示的界面,表明添加JDK成功,它主要配置了Java运行的虚拟机(JVM)及Java运行环境(JRE)。然后在其前面的复选框中打钩就可以在MyEclipse中使用该Java运行环境了,如图1-4所示。
图1-4 在MyEclipse中配置JRE对话框
下面需要配置Tomcat服务器,虽然MyEclipse中有一个内置的可使用的Java运行时环境JRE和Tomcat服务器,但为了说明问题,还是简单介绍一下在MyEclipse中如何进行Tomcat配置。
在MyEclipse的操作界面中,选择Windows→Preferences→MyEclipse→Servers→T
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询