(基于JavaEE的电子商务网站建设)第4章JavaWeb应用开发及开发平台课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《(基于JavaEE的电子商务网站建设)第4章JavaWeb应用开发及开发平台课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JavaEE 电子商务 网站 建设 JavaWeb 应用 开发 平台 课件
- 资源描述:
-
1、第4章Java Web应用开发及开发平台第 4 章Java Web应用开发及开发平台4.1 Java EE简介简介 4.2 MVC模式概述模式概述 4.3 轻量级轻量级Java EE框架应用相关技术框架应用相关技术4.4 建立开发平台建立开发平台 第4章Java Web应用开发及开发平台4.1 Java EE简介简介4.1.1 Java EE及其模型及其模型Sun公司所提出的经典Java EE应用规范,往往以EJB(企业级Java Bean)为核心,以应用服务器为运行环境,所以通常开发、运行成本较高。第4章Java Web应用开发及开发平台轻量级容器提供了一种管理、定位业务对象的办法,用不着J
2、NDI寻址、定制服务器之类的额外辅助。轻量级容器为应用对象提供注册服务,其较之EJB容器而言,不仅功能强大,而且避免了容器强制业务对象采用特定的接口,最大程度地降低了侵入性,实现了效果极佳的架构重用。第4章Java Web应用开发及开发平台1.Java EE的概念Java EE是我们所熟知的Java 2三大平台之一J2EE(Java 2 Platform Enterprise Edition)的新名称,是Sun公司定义的一个开发分布式企业级应用的规范。J2EE技术的基础就是核心Java平台或Java 2平台的标准版。J2EE不仅巩固了标准版中的许多优点,同时还提供了对EJB(Enterpris
3、e Java Beans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。第4章Java Web应用开发及开发平台J2EE体系结构能够提供中间层集成框架来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成的强有力支持,完全支持Enterprise Java Beans,有良好的向导支持打包和部署应用,添加目录支持,既增强了安全机制,又提高了性能。第4章Java Web应用开发及开发平台2.Java EE模型和组件Java EE使
4、用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据它们所在的层分布在不同的机器上。Java EE的出现是为了解决两层模式(Client/Server,C/S)的弊端。在传统C/S模式中,虽然部署比较容易,但是客户端担当了过多的角色而显得臃肿,难于升级或改进,重用业务逻辑和界面逻辑非常困难,可伸展性也不理想。第4章Java Web应用开发及开发平台下面是Java EE典型的四层结构和图示(见图4-1):运行在客户端机器上的客户层组件;运行在J2EE服务器上的Web层组件;运行在J2EE服务器上的业务逻辑层组件;运行在EIS服务器上的企业信息系统(Enterprise Inform
5、ation System,EIS)层软件。第4章Java Web应用开发及开发平台图4-1 Java EE四层结构第4章Java Web应用开发及开发平台4.1.2 Java EE组件和结构组件和结构1.Java EE组件Java EE说明书中定义了以下四个组件:应用客户端程序和Applets是客户层组件;Java Servlet和JSP是Web层组件;EJB是业务层组件;企业信息系统层组件。第4章Java Web应用开发及开发平台1)客户层组件 Java EE应用程序可以是基于Web方式的,如静态HTML、脚本语言或各种标签等;也可以是基于传统客户机方式的,如专用的客户端程序或软件。2)We
6、b层组件 Java EE的Web层组件可以是JSP页面或Servlets。如图4-2所示,Web层使用JavaBean实体来处理用户输入,并把输入发送给运行在业务层上的EJB来进行处理。第4章Java Web应用开发及开发平台图4-2 Web层组件第4章Java Web应用开发及开发平台3)业务层组件业务层代码的逻辑用来满足银行、零售和金融等特殊商务领域的需要,由运行在业务层上的EJB进行处理。图4-3表明了一个EJB是如何从客户端程序接收数据,进行处理,并发送到EIS(企业信息系统)层储存的。这个过程也可以逆向进行。第4章Java Web应用开发及开发平台图4-3 业务层组件第4章Java
7、Web应用开发及开发平台 会话Bean(Session Beans):会话Bean表示与客户端程序的临时交互。实体Bean(Entity Beans):实体Bean表示数据库表中一行永久的记录。当客户端程序中止或服务器关闭时,就会有潜在的服务保证实体Bean的数据得以保存。消息驱动Bean(Message-Driven Beans):消息驱动Bean结合了会话Bean和JMS消息监听器的特性,允许一个业务层组件异步接收JMS 消息。第4章Java Web应用开发及开发平台4)企业信息系统层组件企业信息系统层组件包括企业基础建设系统(ERP、CRM、SCM等)、大型机事务处理、数据库系统和其它的
8、遗留信息系统等。第4章Java Web应用开发及开发平台2.Java EE的结构1)容器和服务 Java EE安全(Security)模型:通过让开发者配置Web组件或EJB,使得只有被授权的用户才能访问系统资源。不同客户分别属于不同的角色,而每个角色只允许访问特定的方法。开发者只要在EJB的布置描述中声明角色和可被访问的方法,而不必编写加强安全性的规则。第4章Java Web应用开发及开发平台 Java EE事务管理(Transaction Management)模型:让开发者指定组成一个事务中所有方法间的关系,并将这些方法当成一个单一的单元。当在客户端激活一个EJB中的方法时,容器介入管理
9、事务,这使得开发者只需在布置描述文件中声明EJB的事务属性,而不用编写并调试复杂的代码。要求控制分布式事务的代码会非常复杂,容器将读取此文件并处理此EJB的事务。第4章Java Web应用开发及开发平台 JNDI寻址(JNDI Lookup)服务:为企业内的多重名字和目录服务提供了一个统一的接口,这样应用程序组件可以更方便地访问名字和目录服务。Java EE远程连接(Remote Client Connectivity)模型:管理客户端和EJB间的底层交互。当一个EJB被创建后,客户端可以像调用本地客户机的方法一样调用EJB。第4章Java Web应用开发及开发平台 生存周期管理(Life C
10、ycle Management)模型:管理EJB的创建和移除,容器创建EJB,并在可用实例池与活动状态中移动它,而最终将其从容器中移除,这就是EJB的生存周期。数据库连接池(Database Connection Pooling)模型:这是一个有价值的资源。容器通过管理连接池来缓和数据库连接时服务器的效率。第4章Java Web应用开发及开发平台2)容器类型 如图4-4所示,Java EE应用组件可以安装部署到以下几种容器中去。EJB容器:EJB和它们的容器运行在Java EE服务器上,管理所有Java EE应用程序中EJB的执行。Web容器:Web组件和它们的容器运行在Java EE服务器上
11、,管理所有Java EE应用程序中JSP页面和Servlet组件的执行。第4章Java Web应用开发及开发平台 应用程序客户端容器:应用程序客户端和它们的容器运行在客户端机器上,管理所有Java EE应用程序中应用程序客户端组件的执行。Applet容器:运行在客户端机器上,通常是Web浏览器和Java插件的结合。第4章Java Web应用开发及开发平台图4-4 Java EE结构第4章Java Web应用开发及开发平台3.Java EE的优势要回答这些问题,我们不能仅考虑系统开发过程,还需要考虑系统后期的维护、扩展;我们不能仅考虑那些小型系统,还要考虑大型系统的协同开发。对于学习、娱乐性的个
12、人站点,的确没有必要使用复杂的Java EE应用架构,采用纯粹的JSP就可以实现整个系统。但是对于大型的信息化系统而言,采用Java EE应用架构则有很大的优势。第4章Java Web应用开发及开发平台1)保留现存的IT资产Java EE拥有广泛的业界支持和一些重要的“企业计算”领域供应商的参与,每一个供应商都为现有的客户提供了不用废弃已有投资而进入可移植的Java EE领域的升级途径;再加上基于Java EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。第4章Java Web应用开发及开发平台2)高效的开发Java EE允许公司把一些通用的、很繁琐的服
13、务端任务交给中间件供应商去完成。高级中间件供应商能够提供以下复杂的中间件服务:状态管理服务:开发人员不用关心如何管理状态,从而可以编写更少的代码,更快地完成程序开发。第4章Java Web应用开发及开发平台 持续性服务:开发人员在编写应用程序时,不用对数据访问逻辑进行编码,即可生成更轻巧、与数据库无关的应用程序,而且这种应用程序更易于开发与维护。CACHE服务:开发人员能编制高性能的系统,极大地提高整体部署的伸缩性。第4章Java Web应用开发及开发平台3)支持异构环境基于Java EE的应用程序不依赖任何特定的操作系统、中间件和硬件,因此只需开发一次就可部署到各种平台,这在典型的异构企业计
14、算环境中是十分关键的。Java EE标准也允许把Java EE兼容的第三方现成组件部署到异构环境中,这样可以节省企业信息化方案所需的费用。第4章Java Web应用开发及开发平台4)可伸缩性基于Java EE平台的应用程序可被部署到各种操作系统上,例如高端UNIX与大型机系统,这种系统单机可支持64至256个处理器(这是NT服务器所望尘莫及的)。Java EE领域的供应商还提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署。第4章Java Web应用开发及开发平台5)稳定的可用性一些Java EE可部署在Windows、Sun Solaris和IBM OS/390等可靠的
15、环境中,支持长期的可用性。Internet是全球化的、无处不在的,一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要,因此可靠的部署至关重要。第4章Java Web应用开发及开发平台4.1.3 Java EE常用服务器常用服务器在开源Java应用服务器领域,JBoss、Tomcat及Apache的Geronimo不仅是商业领域的领跑者,同时是技术领域的先行者。Geronimo是对Java EE5标准100%的实现,正在快速发展中。表4-1就JBoss 4.2、Geronimo 2及Tomcat 6的特性进行了全面的比较。第4章Java Web应用开发及开发平台第4章Java Web
16、应用开发及开发平台1)TomcatTomcat是一个免费的开源Web服务器,它实现了完整的Servlet规范,可作为Servlet和JSP技术的参考实现。Tomcat作为开放源代码的Web服务器,已经得到了广泛的应用,是Web应用程序很好的开发和运行平台,并且支持服务器集群。第4章Java Web应用开发及开发平台Tomcat 6本身就是一种轻量级的解决方案,所以它并不包括Java EE 5的所有特性,或是在JBoss及Geronimo中所提供的特性,但正是由于它的轻量级,才使它对内存的占有量比较少,并且比其它两种服务器运行起来更快。Tomcat是目前开发小型Java Web应用的最佳选择。第
17、4章Java Web应用开发及开发平台2)JBossJBoss是由开源社区开发,遵循商业友好的LGPL授权分发的全功能的J2EE应用服务器。JBoss应用服务器通过了Sun公司的J2EE认证,还可以和Tomcat或Jetty集成使用。3)Resin Resin是目前速度最快的Web服务器,它提供了极快的Servlet容器,能够完整地支持Java Web应用程序。此外,Resin还提供了一个快速的XSLT引擎以转换XML文档。第4章Java Web应用开发及开发平台4)Jetty Jetty是一个开放源代码的Web服务器,它提供了完整的Servlet和JSP技术的支持。Jetty既可以作为独立的
18、Web服务器来运行Java Web应用程序,也可以非常容易地嵌入到Java应用程序或其它J2EE应用服务器(如JBoss)中。第4章Java Web应用开发及开发平台4.2 MVC模式概述模式概述4.2.1 MVC的结构及优势的结构及优势MVC是Model-View-Controller的简称,即模型视图控制器。MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图和控制器,它们各自处理自己的任务。其结构如图4-5所示。第4章Java Web应用开发及开发平台图4-5 MVC结构第4章Java Web应用开发及开发平台在该结构中,视图是用户看到并与之交互的界面;模型是应用程序的主体部分
19、,它表示业务数据和业务逻辑,一个模型能为多个视图提供数据;控制器接受用户请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。第4章Java Web应用开发及开发平台MVC模式的适用范围很广,这归功于MVC的如下优点:多个视图能共享一个模型,即同一个模型可以被不同的视图重用,大大提高了代码的可重用性。由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,因此依据这种设计思想能构造良好的松耦合构件。第4章Java Web应用开发及开发平台 控制器提高了应用程序的灵活性和可配置性。控制器可以用来连接不同的模型和视图去完成用户需求,这样控制器可以为构造应用程序提供
20、强有力的手段。MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。第4章Java Web应用开发及开发平台4.2.2 MVC在在JSP Model 2中的实现中的实现Java Web编程技术经历了所谓的Model 1和Model 2两个时代,而在Model 2中引入了MVC模式,使得它更适用于大规模应用的开发。所谓Model 1模式就是整个Web应用几乎全部由JSP页面组成,用少量的JavaBean来处理与数据库相关的操作,如数据库连接、数据库CRUD等操作。第4章Java Web应用开发及开发平台JSP代码既可以用来接收处
21、理客户端请求,又可以直接对请求处理并做出响应,同时实现了视图和控制逻辑的功能。因此Model 1模式的实现比较简单,适用于快速开发小规模项目,特别是初学者理解起来很容易。但从工程化的角度看,它的局限性非常明显,JSP页面中夹杂着HTML,不仅使代码看起来混乱,也导致代码的重用性非常低,不利于在工程化思想中实现代码的可扩展性和可维护性,同时还不利于编程者的分工合作。第4章Java Web应用开发及开发平台在Model 2架构中,前端控制器由Servlet实现,并且Servlet只包含控制逻辑和简单的前端处理,负责接收客户端发送的请求;然后,调用后端JavaBean来完成实际的逻辑处理;最后,转发
22、到相应的JSP页面来处理显示逻辑。其具体的实现方式如图4-6所示。第4章Java Web应用开发及开发平台图4-6 Model 2的程序流程第4章Java Web应用开发及开发平台Model 2已经是基于MVC架构的设计模式。正如在图4-6中看到的,Model 2仅仅用于将结果呈现给用户,不再承担控制器的责任。JSP页面的请求与Servlet(控制器)交互,而Servlet负责与后台的JavaBean通信。在Model 2模式下,模型(Model)由JavaBean充当,视图(View)由JSP页面充当,而控制器(Controller)则由Servlet充当。第4章Java Web应用开发及开
23、发平台由于引入了MVC模式,因而使Model 2具有了组件化的特点,易于项目开发人员分工合作,但也增加了应用开发的复杂程度。原本需要一个简单的JSP页面就能实现的应用,在Model 2中被分解成多个协同工作的部分,需花更多时间才能真正掌握其设计和实现过程。因此,对于小型的Web应用,如果后期的更新、维护工作不是特别大,则可以使用Model 1模式来开发。第4章Java Web应用开发及开发平台4.3 轻量级轻量级Java EE框架应用相关技术框架应用相关技术4.3.1 Struts框架简介框架简介1.Struts1框架Struts1是世界上第一个发布的MVC框架。对于Struts1框架而言,因
24、为它与JSP/Servlet耦合非常紧密,因而导致了许多不可避免的缺陷,随着Web应用的逐渐扩大,这些缺陷逐渐变成制约Struts1发展的重要因素。第4章Java Web应用开发及开发平台列举Struts1中存在的种种缺陷:支持的表现层技术单一,仅支持JSP作为表现层技术。与Servlet API严重耦合,难于测试。代码严重依赖于Struts1 API,属于侵入式设计,导致了较低的代码复用。第4章Java Web应用开发及开发平台2.WebWork框架WebWork虽然没有Struts1那样赫赫有名,但也是出身名门,它来自另外一个优秀的开源组织opensymphony。WebWork采用了一种
25、松耦合的设计,让系统的Action不再与Servlet API耦合,使单元测试更加方便,这对于Struts1存在的那些先天性不足而言,显得更加优秀。第4章Java Web应用开发及开发平台 用于处理或代理请求的分发器(Dispatcher);支持多种视图技术(JSP、Velocity、JasperReports、XML、FreeMaker)的结果类型;一个小而强大的JSP标签库和Velocity宏定义;分发器调用XWork活动来访问和操作模型(Model),并为视图显示模型数据提供方便的途径。第4章Java Web应用开发及开发平台3.Struts2框架面对大量新的框架蓬勃兴起,Struts1
展开阅读全文