【VC++开源代码栏目提醒】:网学会员为广大网友收集整理了,基于J2EE核心技术的Web应用开发研究 - 会议论文,希望对大家有所帮助!
武汉理工大学硕士学位
论文 中文摘要 当前,Web技术在Internet上得到了广泛的应用,它支持实时的信息发布、动态的用户交互以及与后台系统灵活安全的连接。
因此如何构造功能更加强大、应用更为灵活、开发更为简单的Web应用程序己经成为当前Internet技术探讨的热点,而解决该问题的关键是网站技术和开发方法。
Web技术使传统的企业应用结构(C/S)变成更适合网络应用的多层结构,基于多层结构的企业级应用的可靠性、可伸缩性、可维护性及可重用性都得到了极大改善。
目前实现多层体系结构的技术主要有三种,它们分别为OMG的CORBA、Microsoft的.NET框架以及Sun公司的J2EE。
而J2EE是一种利用Java2平台来简化企业应用的开发、部署和管理等相关复杂问题的体系结构。
J2EE体系结构提供的中间层集成框架满足了低费用、高可用性、高可靠性、高伸缩性、高扩展性的应用需求。
J2EE模型提供了一个很好的企业应用框架及解决方法,提供了灵活的技术选择,但它只是一个应用开发框架,不能解决系统的所有问题;同时,多层企业应用框架在提高了软件的重用性和分解了问题的复杂性的同时,也使得
代码庞大,层与层之间的控制关系复杂。
基于MVC开发模式被证明是有效的处理方法之一,可以被映射到多层企业级的J2EE应用上,不仅可以很方便地开发三层结构的应用体系,而且它把用户界面设计、流程控制和事务逻辑进行了分离,即将表现层又分解为视图和控制器两部分。
作为一个开发模式,必须有一个框架来对其进行实现。
Struts是一个Web framework,它继承了MVC的各项特性,并根据J2EE的特点作了相应的变化与扩展,将Mvc模式所具有的“分离业务逻辑和显示逻辑”的能力发挥到了极点。
本
论文首先从J2EE平台入手,分析此平台的整体架构和相关核心技术,并且提出了J2EE为商务系统提供的机制,从而体现了采用J2EE平台作为应用平台的必要性和优越性。
随着应用平台的选定,作为工程开发的下一步,就是要选定开发的模式。
本文就目前较为流行的MVC模式做了详细的阐述。
Apache Jakarta的
开源项目Struts由于很好的体现了MvC模式的思想,成为了工程实现的首选。
通过对Struts框架的研究,较为透彻的剖析了Struts中各组件之间的关系,以及它是如何实现MVC模式的。
在
论文的后半部分开始对系统整体上进行了分析和设计,并运用上述技术,从数据库层、应用层、Web层这三层对系统进行了实现。
论文最后还讨论了权限控制的问题。
关键字:J2EE,EJB,Web应用,MVC,Struts 墓堡望三奎堂堡主兰堡堡塞 Abstract Nowadays,Web technology has a谢de application on Internet,which supportsreal-time information publication,dynamical user interaction and the flexible,secureconnection to the background system.Accordingly the hottest point of Internettechnology discussed recently is that how to build such a Web application with thecharacteristic on more powerful function,more flexible application and more simplesoftware development.The key to solve the problem mentioned above has somerelation to website technology and development method.Web technology improvesthe traditional emerprise application structure(C/S)to a kind of 3-layer structure,which is more suitable to net application.Enterprise·level application,which is basedon 3-layer structure,has made great progress on dependability,scalability,maintainability and usability. Presently,there are three technolcIgies that Can implemem multi-tieredarchitecture.They啦CORBA(OMG)..NET(Microsoft)and J2EE(Sun).J2EE is asystem architecture that USeS Java2 Platform to simplify the complex problem relatedto development,deployment and managemem in emerpfise applications.It providesmiddle-tier integration framework to meet cheap,more reusable,mole reliable andmore extensible demands. The J2EE model provides a very good emerpdse application framework and thesolution.It provides the flexible technical selection,but it is only an application development framework,which cannot solve all problems ofthe system;At the sanletime,while the multilayered enterprise application framework is enhancing the the code to be usability of software and resolving question’S complex,it also causeshuge and the control relations between the level and the level to be complex. the MVC has pmvcd to be one of valid processing Development pattern based on methods,which can be mapped to the multilayered enterprise-level J2EE application. It not only may develop three—layer structure application systems very conveniently, bat also separate the usef interface design,the flow control from the tran船ction logic, i.e.separate display layer into view and the controller such two parts.As a development pattern,there must be a framework to implement it.Struts is Web framework.It has inherited each characteristics of MVC,and has made the corresponding change and expansion according to the J2EE features,and has bought into play the ability of‘‘to separate the business logic from the display logic”owned by MVC pattem extremely. This paper firstly obtains from the J2EE platform.It analyzes this platform’S Il 武汉理工大学硕士学位
论文overall architecture and related COre technologies,and proposes the mechanism,which the commercial system should be provided by J2EE,and thus manifests the to be the applicafon platform.Alongneeesfity and the superiority when J2EE is usedwith the application platform has been chosen,the next step of the projectdevelopment is to choose development paRern。
This article has made the detatn=edelaboration Oil the popular MVC paRem at present.Struts that belongs to ApacheJakarta’S open project has become the first choice of projeet’S implementation SOUI”CCbecause of manifesting the MVC pattern’S thought very well.By researching intoStruts framework,this paper thoroughly analyzes the relations among variousmodules in Struts and how they implement the MVC pattern.The latter part of thepaper begin to analyze and design the whole system and use the above technologies toimplement the system from database layer,application layer,Web layer such threelayers.The paper finally also discusses the problem ofprivilege contr01.Key words:J2EE,EJB,Web application,MVC,Struts llI 武汉理工大学硕士学位
论文 第1章绪论1.1课题研究背景 随着信息技术的不断发展,企业对于信息的依赖达到了前所未有的程度,信息化的快慢直接影响着企业的生存和发展。
如何对己掌握的信息进行管理?如何提高企业运行中各个环节的效率?只有解决好这些
问题才能真正提高企业的竞争力,以Internet和wWw为代表的
网络技术便为企业提供了构建信息化
经济的坚实基础和平台,企业可以借助这个平台,构建自己的应用系统以适应当前激烈的竞争。
在信息化的同时,企业级应用的开发将面临诸多新的挑战。
·程序设计的生产率:应用程序从初具雏形到最终形成产品,应该是一个较为快速的过程,开发和部署应用程序的能力、良好的编程模型和客户的选择是影响编程的重要因素。
应用系统应实现业务逻辑与表示逻辑分离,实现客户端与服务器的松散耦合,以利于开发角色的有效分工,也有利于系统的维护。
●对企业业务变化的快速响应:在企业的业务流程发生变化时,应用系统应能够以较小的代价进行重新构建或重新部署,也就是应用系统应具有良好的伸缩性。
●有效集成现有系统:对子不少企业来说,现有的信息系统中存有多年来收集的大量对企业有用的数据并且企业的许多应用都是建立在这些信息系统之上的,开发人员必须得考虑如何有效的集成现有系统。
·产品的可移植性和适应性:开发企业应用系统不仅仅可以自由地选择服务器和操作系统,同时也应包括对各种开发工具和组件的自由选择。
·安全性:安全问题在任何时候都是不容忽视的。
当信息资源被发送到一个缺乏保护措施的环境中时,对于其中~些敏感信息必须加以保护,同时还必须保证其它信息能够顺利地被利用。
分布式对象计算技术作为一种适合的构建企业应用的软件模式满足了业务需求的这些挑战。
利用面向对象计算技术和软件组件复用可以加快系统开发,增加系统灵活性,降低开发成本,通过整合原有系统还可较快适应新技术,增强跨平台下系统的部署能力。
1.2国内外发展现状 Microsoft.NET与SUN 32EE是当前企业web应用平台市场的两个最重要的 武汉理工大学硕士学位
论文应用框架(Application Framework)。
它们都针对分布式多层应用的设计、集成、性能、安全性和可靠性等诸多方面为用户提供了总体的指南和规范,基于这些指南和规范,技术提供商提供了相应的平台、工具和编程环境。
在具体的应用框架中,包括了针对应用的表现层服务、服务器端进程、会话管理、商业逻辑框架、应用数据缓存、应用逻辑、事务、安全和日志服务等等。
J2EE(Java2企业版)是一组规范集,每~个规范规定了Java技术应当如何提供~种类型的功能。
J2EE平台为基于多层分布式应用模型上的Java应用的设计、开发、装配和部署提供了一个完整的框架。
32EE规范为开发应用和与企业系统集成定义了数目众多的应用编程接口(API)和多种应用编程模型。
Microsoft.NET是一个由Server、C1lent和Service组成的平台。
.NET框架包括基本的运行库、用户接口库、CLR、c#、C+十、VB.NET、Jscript.NET、ASP.NET以及.NET框架API的各个方面。
它由以下三个部分组成: ·.NET平台:包括构建.NET服务和.NET设备
软件的工具和基础框架; ●.NET产品和服务:包括基于Microsoft.NET的企业服务器(如BizTalkServer 2002和SQL Server 2000,它们对.NET框架提供支持); ·第三方软件开发商提供的.NET服务:构建在.NET平台上的第三方服务; .NET只能在Windows上运行,理论上它支持多种语言,但其核心技术都被微软所垄断。
J2EE则可以在任何具有JvM(Java Visual Machine)的平台上执行,只要有兼容的服务即可。
J2EE的~切标准都是公开的,许多厂商都提供兼容的产品和开发工具。
.NET与J2EE都有各自的优势,但是J2EE已被市场证明是成功的平台:J2EE具有更先进的编程模型,开发者可以创建更先进的对象模型并且可以获得更好的平台性能:J2EE由于使用了Java语言,使其具有更好的市场亲和力和成熟度IIJ。
1.3本文主要研究内容和创新之处 本文重点分析J2EE的体系结构以及目前比较前沿的Struts设计模式中的MVC思想给目前的电子商务
系统研发带来的新思路,并且在一个基于J2EE的网上书店系统的
设计中进行了项目实践。
通过
论文和系统模型的设计,不仅体现了J2EE在企业电子商务中的业务实现过程,还在系统的可维护性、可重用性、可移植性和伸缩性等方面作了有益的尝试。
本文的创新之处在于: ·项目开发严格遵循规范与标准。
系统整体开发遵循J2EEl。
3规范,其中 EJB组件开发遵循EJB2.0规范,数据库开发遵循ANSI一92标准。
遵循规范和标 2 武汉理工大学硕士学位
论文准使得产品更具兼容性,可以在兼容环境下实现无缝移植,例如,遵循EJB2.O规范开发的EJB组件可以运行于兼容EJB2.0规范的应用服务器上,如WebLogic,WebSphere等:遵循ANSI一92标准开发的数据库应用系统可以在兼容该标准的数据库,如BB2、Oracle、sQL Server之间进行无缝移植。
标准的Java技术使得应用系统可以在许多不同的服务器平台上运行,系统的可移植性、健壮性得到极大的提高。
·运用DTO模式,Struts Framework解决了J2EE开发中经常遇至Ⅱ的问题。
保证了网上书店系统不是简单的运用J2EE技术来实现业务功能,而是从可维护性、可重用性、可移植性和伸缩性等方面来优化系统的,以达到最佳性能。
武汉理工大学硕士学位
论文 第2章J2EE体系结构2.1 d2EE概述嘲 J2EE是由Sun公司推出的一种全新概念模型,与传统的Internet应用系统模型相比,有着不可比拟的优势。
这种模型在J2SE之上添加了大量面向企业的特性和功髓,以此简化企业解决
方案的开发、部署和管理等相关复杂问题。
它不仅巩固了J2SE中的许多优点,如方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等,同时还提供了对EJB、JavaServlet APl、JSP(Java Server Pages)以及x札技术的全面支持。
J2EE的设计目的是为了推动企业应用的开发和部署。
它通过提供企业计算环境所必需的各种服务,使得部署在J2EE平台上的多层应用可以实现高可用性、安全性、可扩展性和可靠性。
计算平台支持Java语言,使得基于J2EE标准开发的应用可跨平台移植,且由于Java语言的安全、严格等特性,使开发者可以编写出十分可靠的
代码。
J2EE提供了在企业计算中需要的所有服务,且简单易用;J2EE中的多数标准定义了接口,如JNDI,JDBC,Java Mail等,可与许多厂商的产品配合,容易得到广泛的支持;通过提供统一的开发平台,J2EE降低了开发多层企业级应用的费用和复杂度,同时支持EJB与现有系统集成,有良好的向导支持打包和部署应用。
J2EE平台提供的多层分布式应用模型、组件重用、一致化的安全模型以及灵活的事务控制,加快了企业应用的设计与开发,可以快速容易地建立融合了Intemet技术,尤其是web技术的N层(N.Tiers)结构的分布式企业应用,也较好地解决了C/S结构所固有的可扩充性差、可维护性差、安全性差、部署麻烦等弊端。
2.2 J2EE应用程序体系结构脚 Sun设计的J2EE是为了解决传统的两层模式(C/S)模式的弊端。
在传统的两层模式中,客户端由于担当了过多的角色而显得藤肿。
在这种模式中,第一次部署的时候比较容易,但是难于升级和改进,可扩展性也不理想,而且经常基于某种专有的协议,而使得重用业务逻辑和界面逻辑变得非常困难。
现在,J2EE的 多层企业级应用模型将两层化模型中的不同层面分割为多层,一个多层化的应用 能够为不同的服务提供一个独立的层。
(n用户层(Client Tier).一用来与用户交互,并把来自系统的信息显示给用 户。
J2EE平台支持不同类型的用户,包括HTML用户、Java Apple协和Java应 用等。
r2)Web层(Web Tier卜产生表示逻辑,并接受来自客户端的用户反馈。
4 武汉理1二大学硕士学位
论文这些表示客户端通常为HTML客户端、JavaApplets和其他的w曲客户端。
在所有接受客户端请求的基础上,表示层对用户的请求产生相应的回应。
J2EE平台中,是由Web容器内的Servlet和JSP来实现这一层的。
(3)业务逻辑层(Business Ticr)一用来处理应用的核心业务逻辑。
业务层为低层的服务组件提供必要的接口。
业务组件通常被实现为EJB容器内的EJB组件。
其中,EJB容器提供组件生命周期、管理持久性、事务和资源分配等。
(4)企业信息系统层(EtS,Enterprise Information System卜这一层为企业的信息系统服务,包括数据库系统、事务处理系统、遗产系统和企业资源计划系统等。
在J2EE的四层结构中,第二层和第三层被和称为中间层(Middle面曲,因此,也可以把J2EE的结构看作三层结构。
中间层是J2EE在结构上主要异于两层结构的地方,也是本文重要的研究对象。
典型的J2EE应用程序的结构如图2.1所示: 图2.1 J2EE应用程序体系结构2.3 J2EE核心技术2.3.1 JDBC技术 JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structl此A Query Language,结构化
查询语言)数据库访阿接口,它使数据库开发人员能够用标准JavaAPI编写数据库应用程序。
JDBCAPI主要用来连接数据库和直接调用SQL命令执行各种SQL语句。
利用JDBC API可以执行一般的SQL语句、动态SQL语句及带矾和OUT参数的存储过程。
Java中的JDBC相当于Microsoft平台中的ODBC(Open Database Connectivity)…。
武汉理工大学硕士学位
论文 JDBC主要包括以下类:连接(Connection)、语句(Statement)和结果集(Resultsct)a JDBC应用程序的主要工作方式是这样的:首先加载数据库的JDBC驱动程序(由DriverManager类管理),然后建立连接(Connection),由Connection建立Statement对象(有三种:Statement,PreparedStatement和CallableStatement)及结果集(ResultSet)。
通过Statement对象和ResultSet对象进行各种数据操作,最后关闭连接。
如图2.2所示: 图2-2 JDBC
工作方式图 连接是指客户机端Java
代码和数据库服务器之间的
通信连接,由JDBC驱动程序建立。
在
代码中使用数据库前,必须打开连接。
在JDBC中,连接通过jav{Lsql.Connection接口实现。
连接是通过调用驱动程序的Connection方法获得的。
创建一个连接后,可以调用它的方法获得和设置连接选项、管理事务和创建Statement对象。
有Direct ConnectioⅡ(直接连接)和Pooled can∞ction(池连接)两种主要的连接类型。
直接连接是直接在
代码中打开和维护的。
打开直接连接的
代码对管理这些连接直接负责,当使用完后,必须记住关闭它们。
否则,就会超过数据库服务器的连接限制,或者打开太多的连接,会使系统所有的性能受损。
池连接是被J2EE服务器打开和维护的,是对运行在J2EE服务器中的任何
代码有效的直接连接。
连接共享是池驱动
程序管理的。
启动时,J2EE服务器配置了打开池连接的数量(例如5个),这是池连接的最小数目,浊连接将一直维持至少打开5个数据库连接忙】。
当一个模块需要连接数据库时,它就从池驱动程序中申请,池驱动程序返 回一个未使用的连接并将此连接标记为忙。
当使用连接的调用完成后,池驱动程 6 武汉理工大学硕士学位
论文序将此连接标记为未使用,这样其它的调用又可以使用这个连接了。
如果许多在配置时间设置的池连接保持未使用,而且池大小超过了最小限度,那么,池就通过物理关闭连接从预定增量中缩减连接。
池连接提高了性能同时保存宝贵的资源。
在大多数应用程序中,数据库连接典型为打开状态,被简单使用,然后关闭:这种使用模式为共享连接提供了便利。
打开数据库连接是CPU和网络的重要任务,在应用程序使用过程中重复打开直接连接将导致性能的降低,池连接只在服务器启动时打开一次。
它的核心思想是连接复用,通过建立一个数据库连接池以及一套连接使用、分配、管理策略,使得一个数据库连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。
连接池对JDBC中的原始连接进行了封装,隔离了应用的本身的处理逻辑和具体数据库访问逻辑,使应用本身的复用成为可能。
2,3.2 ServIet技术同 Servlet(Java小服务器程序)是由服务器端调用和执行的Java类。
浏览器端运行的Java程序叫做Applet,服务器端运行的Java程序则叫做Servlet,它也可以看作是运行在请求,面向请求服务器上的模块,如Servlet可以从一个HTML订单表中获取数据,然后用一些商业逻辑更新相应的订单数据库。
Servlet程序的运行机制如下: (11 bit方法:当用户访问Servlet程序时,服务器首先调用ink方法进行初始化工作,该方法只会被调用一次。
(2)service方法:在ink方法之后,服务器调用service方法准备处理用户的访问。
来自客户端的访问有GET、PUT、POST等类型,这些都可以在service方法中处理。
HTTPServlet类中也提供了支持这些类型的doxxx方法,例如doGet方法,当访问请求是GET时会自动执行。
service方法包括两个参数,即用户的访问请求(request)和服务器的响应(response)。
服务器的响应是通过某种流,如Printerwriter,建立一个HTML页面,并把它发送到用户的浏览器上。
只要用户访问到服务器小程j芋的URL,那么用户测览器上就会显示该页面。
(3)destroy方法:该方法在服务器结束Servlet运行时调用,也即不是Servlet程序自己调用的。
例如,当服务器程序关闭时会调用它。
Servlet API是用来编写Servlet的一套编程接口,编写Servlet并不需要像CGI脚本那样关心一个Servlet是如何被装载、Servlet运行的服务器环境是什么、或者用来传输数据的协议是什么等等,Servlet能够融合在不同的Web服务器中。
Servlet可以相当有效地替代CGI脚本,方便地产生容易编写而且运行快速的动态Web页面。
武汉理工大学硕士学位
论文2.3.3 JSP技术 JSP全称是Java Server Pages,是Sun公司推出的一项动态网页技术。
设计目的是使得构造基于Web的应用程序更加容易和快捷。
相对于其它动态网页技术,JSP存在着很大的优势,特别是它很好地解决了跨平台问题,已经得到了越来越多的应用。
JSP包含了HTML标签和相应嵌入的Java
代码:其本身实际上也就是Servlet,其在运行时编译为Servled71。
运行方式见图2-3: 生成 seⅣlet
代码 图2-3 JSP运行方式图 JSP的主要特点为: (1)内容的生成和显示分离:这不但可以帮助开发人员保护自己的源
代码,还可以保证
代码可以运用于任何支持HTML的Web浏览器。
(2)使用标记技术来简化页面的开发:标准的JSP标记能够实现其他方法难 以完成的功能,通过自定义的标记库,开发人员可以对JSP技术进行扩展。
(31良好的可移植性:由于其是以Java为基础开发的,所以它可以沿用Java强大的API功能,拥有Java编程语言“一次编写、各处运行”的特点。
(4)健壮性与安全性:由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
(5)强调可重用的组件:其中,JavaBeans是一种基于Java的软件组件,可 以通过封装业务逻辑建立一整套可重复利用的对象库。
JSP对于在Web应用中集成JavaBean组件提供了完善的支持,这种支持不仅能缩短开发时间(可以直接利 用经过测试和可信任的己有组件),避免重复开发,也为JSP应用带来了更多的 可伸缩性。
JavaBeans组件可以用来执行复杂的计算、或负责与数据库的交互以 及数据提取等同。
2.3.4 JNDf JNDI即Java命名与目录接口服务,可为Java对象如EJB组件等提供命名 和定位服务。
用户只需提供一个名字,JNDI即自动找到以该名字命名的对象, 8 武汉理工大学硕士学位
论文并返回这个对象的引用【9】。
JNDI有两个基本概念:Naming和Directory。
Naming是在
计算机系统中最基本的服务之一,它把名称@lnlc)与对象(叫ect)绑定起来(binding),而用户则通过一个上下文(context)环境对象来存取所需的对象。
例如:DNS(Domaln Name System)将主机名称对应到IP Addre鼹,以方便使用者记忆。
Directory是对Naming概念的扩充,让对象拥有属性(attribute)来记录额外的信息。
这样,用户可以使用名称来查找对象,还可以.