基于J2EE的MVC设计模式的分析与思考.pdf

上传人:qwe****56 文档编号:69631625 上传时间:2023-01-07 格式:PDF 页数:6 大小:405.38KB
返回 下载 相关 举报
基于J2EE的MVC设计模式的分析与思考.pdf_第1页
第1页 / 共6页
基于J2EE的MVC设计模式的分析与思考.pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《基于J2EE的MVC设计模式的分析与思考.pdf》由会员分享,可在线阅读,更多相关《基于J2EE的MVC设计模式的分析与思考.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2 0 1 0 年第l O 期计算机与现代化J I S U A N J IY UX I A N D A I H U A总第1 8 2 期文章编号:1 0 0 6-2 4 7 5(2 0 1 0)1 0-0 0 5 4-0 5基于J 2 E E 的M V C 设计模式的分析与思考田娟1,徐钊2(1 克拉玛依职业技术学院,新疆独山子8 3 3 6 0 0;2 独山子石化炼油厂,新疆独山子8 3 3 6 0 0)摘要:M V C 设计模式是当今比较流行的设计模式,并广泛应用于企业级项目开发,本文分析讨论面向对象的M V C 设计模式,并将M V C 设计模式引入J 2 E E 应用程序开发之中。通过

2、对M V C 设计模式的研究,分析其基本原理及运行机制,在适当的环境下去实现基于J 2 E E 平台的W e b 应用程序开发。关键词:J 2 E E;M V C;W e b中图分类号:T P 3 1 1文献标识码:Ad o i:1 0 3 9 6 9 j i s s n 1 0 0 6-2 4 7 5 2 0 1 0 1 0 0 1 4A n a l y s i s C o n s i d e r a t i o no fM V CD e s i g nM o d e lB a s e do n,1 2 E ET I A NJ u a n l,X UZ h a 0 2(I K a r a m

3、 a yV o c a t i o n a l T e c h n i c a lC o l l e g e,D u s h a n z i8 3 3 6 0 0,C h i n a;2 T h eO i lR e f i n e r yo fD u s h a m iP e t r o c h e m i c a lC o m p a n y,D u s h a n z i8 3 3 6 0 0,C h i n a)A b s t r a c t:M V Cd e s i g nm o d e li sap o p u l a rt y p ea n dw i d e l ya p p f

4、i e di nt h ep r o g r a md e v e l o p m e n ti ne n t e r p r i s e s T h i sa r t i c l ea n a l y-瑚a n dd i s c u s s e st h eo r i e n t e d o b j e c tM V Cd e s i g nm o d e lw h i c hi sa l s oi n t r o d u c e di nt h ea p p l i c a t i o nd e v e l o p m e n t T h r o u s ht h es t u d yo

5、fM V Cd e s i g nm o d a l,i t sf u n d a m e n t a lt h e o r ya n do p e r a t i o nm e c h a n i s ma r ea n a l y z e dt or e a l i z et h ed e v e l o p m e n to fW e b 印p l i c a t i o np r o g r a mb a s e dO nJ 2 E Ep h f f o r mi n 印p l i c a b l es i t u a t i o n s K e yw o r d s:J 2 E E;

6、M V C;W e bO引言随着电子商务领域的不断壮大,J 2 E E 正逐渐成为W e b 应用软件开发的标准。本文所研究的M V C(M o d e l V i e w C o n t r o l l e r,模型一视图一控制器)设计模式是软件工程学中的一个非常重要的设计模式。为交互式系统提供了一个非常优秀的开发模型,M V C 开发模式对类对象的强制分离使系统开发变得非常灵活,同时又提高了系统设计的可重用性,正是M V C 模式在交互式系统开发中所体现的优势,M V C模式被开发人员逐步引入J 2 E E 体系中,成为J 2 E E进行交互式应用开发时,特别是W e b 应用开发时一个非

7、常重要的设计模式【IJ。1J 2 E E1 1J 2 E E 简介J 2 E E 是一个涉及多个层面的复杂的概念,是S u n 基于J a v a 的体系结构。J 2 E E 为开发跨平台、具有高度可扩展性和健壮性的企业应用提供了极大便利,显示出了其巨大的发展前景,几乎所有大型软件公司,如S u n,I B M,O r a c l e,B E A,H P 等都推出了遵循J 2 E E 标准的应用服务器产品;并且,它们又进一步促进了J 2 E E 技术的发展与完善。1 2J 2 E E 构架J 2 E E 构架是一个4 层结构,分别是:(1)用户层:用来与用户交互,并把来自系统的信息显示给用户。

8、J 2 E E 平台支持不同类型的用户包括H T M L 用户、J a v a、J A p p l e t s 和J a v a 应用等。(2)W e b 层:W e b 层产生表示逻辑,并接受来自客户端的用户反馈。在接收客户端请求的基础上,表示层对用户的请求产生相应的回应。在J 2 E E 平台中,由W e b 容器内的S e r v l e t 和J S P 来实现这一层。(3)业务层:业务层用于处理核心业务逻辑。业收稿日期:2 0 1 0-0 4-2 3作者简介:田娟(1 9 8 0),女,甘肃平凉人,克拉玛依职业技术学院信息工程系助教,本科,研究方向:软件开发,多媒体技术;徐钊(1 9

9、 8 1),男,甘肃庆阳人,新疆独山子石化炼油厂电修车间工程师,本科,研究方向:软件开发,电气试验与继电保护。万方数据2 0 1 0 年第1 0 期田娟等:基于J 2 E E 的M V C 设计模式的分析与思考5 5务层为低层业务提供必要的接口。业务组件通常被实现为E J B 容器内的E J B 组件。其中,E J B 容器提供组件生命周期,管理持久性、事务和资源分配等。(4)E I S 层:该层为企业提供信息系统服务,包括数据库系统,事务处理系统,企业资源计划系统等。E I S 是J 2 E E 应用与非J 2 E E 应用的连接点瞄j。2M V C 设计模式2 1M V C 模式的概念M

10、V C 是X e r o xP A R E 在八十年代为编程语言S m a l h a l k-8 0 发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为S u n 公司J 2 E E 平台的设计模式,并且受到越来越多的使用C o l d F u s i o n 和P H P的开发者的欢迎。M V C 是一个设计模式,它强制性地使应用程序的输入、处理和输出分开,降低模块之间的耦合,提供应用的可扩展性。因此,M V C 并不是J a v a 所独有的概念,而是面向对象程序都应该遵守的设计理念。使用M V C 应用程序被分成三个核心部件:模型、视图、控制器,它们各自处理自己的任务旧J。(1

11、)模型(M o d e l)是指从现实世界中挖掘出来的对象模型,是应用逻辑的反映。模型封装了数据和对数据的操作,是实际进行数据处理和计算的地方。一个模型可以同时为多个视图提供数据,从而提高了代码的可重用性。在M V C 的三个部件中,模型拥有最多的处理任务。(2)视图(V i e w)是用户看到并与之交互的界面,它负责将应用显现给用户和显示模型的状态。其作用如下:向用户显示数据;接收用户输入;与模型层交互,向模型查询业务状态;接收模型发出的数据,更新显示用户界面。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

12、(3)控制器(C o n t r o l l e r)负责视图和模型之间的交互,控制对用户输入的响应方式和流程,它主要负责两方面的动作:把用户的请求分发到相应的模型;将模型的改变及时反应到视图上。M V C 将这些对象分离以提高灵活性和复用性。由上述可知M V C 的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回数据,并通过表示层呈现给用户HJ。2 2M V C 设计模式的优势大部分W e b 应用程序都是用像A S P,P H P 或者C F M L 这样的过程化语言来创建的。它们将像数

13、据库查询语句这样的数据层代码和像H T M L 这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但通常不是很容易做得到,它需要精心地计划和不断地尝试。M V C 从根本上强制性地将它们分开。尽管构造M V C 应用程序需要一些额外的工作,但是它带来的好处是无庸置疑的。首先,最重要的一点是多个视图能共享一个模型。按M V C 设计模式,一个模型对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护D-。其次,模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,例如,很多数据可能用H T M L 来表示,但是它们也有可能要用M a c r o

14、 m e d i aF l a s h 和W A P 来表示。模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被F l a s h 网站或者无线联网的应用程序所重用。第三,应用程序被分隔为相对独立,而又能协同工作的三个部分,降低了各模块之间的耦合,提供了应用可扩展性。另外,M V C 的每个组件只关心组件内的逻辑,不应与其他组件的逻辑混合怕J。第四,控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起,完成不同的请求。因此,控制层可以说是包含了用户权限的概念。第五,M V C 更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有

15、利于通过工程化和工具化产生管理程序代码1。3基于J 2 E E 的M V C 模式的设计与实现3 1 实现基于J 2 E E 的M V C 的设计需要完成的工作(1)分析应用问题,对系统进行分离。分析应用问题,分离出系统的内核功能、对功能的控制输入、系统的输出行为三大部分。设计模型部件使其封装内核数据和计算功能,提供访问显示数据的操作,提供控制内部行为的操作以及其他必要的操作接口。以上形成模型类的数据构成和计算关系。这部分的构成与具体的应用问题紧密相关。(2)设计和实现每个视图。万方数据计算机与现代化2 0 1 0 年第1 0 期设计每个视图的显示形式,它从模型中获取数据,将它们显示在屏幕上。

16、(3)设计和实现每个控制器对于每个视图,指定对用户操作的响应时间和行为。在模型状态的影响下,控制器使用特定的方法接受和解释这些事件。控制器的初始化建立起与模型和视图的联系,并且启动事件处理机制。事件处理机制的具体实现方法依赖于界面的工作平台。(4)使用可安装和卸载的控制器。控制器的可安装性和可卸载性,带来了更高的自由度并且帮助形成高度灵活性的应用。控制器与视图的分离,支持了视图与不同控制器结合的灵活性,以实现不同的操作模式,例如对普通用户、专业用户或不使用控制器建立的只读视图。这种分离还为在应用中集成新的L 0 设备提供途径L 8J。3 2 基于J 2 E E 的办公自动化系统的实现本例是以J

17、 2 E E(J S P、J a v a B e a n、S e r v l e t)为核心技术的M V C 设计模式,具体使用S S H(S t r u t s、S p r i n g、H i b e m a t e)架构来完成的。架构图如图l 所示引。图IJ 2 E E 系统架构图本系统包括:用户登录、注册以及个人通讯录模块、日程安排模块、工作日志模块、短消息管理模块、公告管理模块、会议管理模块。在这里以个人通讯录模块为主,介绍详细开发过程。(1)分析个人通讯录模块的功能,设计数据表a d d r e s s 如表l 所示。表1 个人通讯录表字段名称字段类型字段说明是否主键备注I Di n

18、 t(1 0)唯一I D是自增字段类型U S e m 鲫ev a r e h a r(5 0)用户名否n a m ev a r e h a r(5 0)联系人姓名否S e Xv a r c h 盯(1 0)性别否m o b i hv a r c h a r(2 0)手机否e m a i lv a r c h a r(5 0)E m a i l 地址否q qr a n c h o(2 0)Q Q 号码否l P a n yv a r e h a r(1 0 0)公司否a d d r e s sv a r c h a r(1 0 0)家庭住址否p o s t c o d ev a r c h a r

19、(1 0)邮编否(2)H i b e r n a t e 第一步:创建并配置H i b e r n a t e 映射文件。使用M y E e l i p s e 的工具D a t aE x p l o r e r 来自动创建H i b e r n a t e 的持久化类和映射文件,对应的数据表为a d d r e s s 表1 0】。最终生成的类文件包括:持久化抽象类A b s t r a e t A d d r e s s j a v a、持久化类A d d r e s s j a v a、映射文件A d d r e s s h b m x m lo(3)H i b e r n a t e

20、第二步:开发并配置H i b e r n a t eD A O 层A d d r e s s D A O j a v a。通过上一步,系统已经具备了H i b e r n a t e 的基础访问功能,接下来开发一个D A O 类A d d r e s s D A O j a _ av a,使用H i b e r n a t eT e m p l a t e 实现对数据表a d d r e s s 的增、删、改、查的操作,包括:定义接口类I A d d r e s s D A O j a v a。开发实现类A d d r e s s D A O j a v a。p u b l i cc l a

21、s sA d d r e s s D A Oe x t e n d sH i b e m a t e D a o S u p p o r ti m p l e m e n t sI A d d r e s s D A O 按用户名查找所有联系人p u b l i cL i s tf i n d A l l B y U s e m a m e(矗i n a lS t r i n gu s e r n a m e)r e t u r n(L i s t)g e t H i b e r r m t e T e m p l a t e()e x e c u t e(n e wH i b e r-n a

22、 t e C a l l b a c k()p u b l i cO b j e c td o I n H i b e m a t e(S e s s i o ns e s s i o n)t h r o w sH i b e m a t e E x e e p t i o n L i s tr e s u l t=s e s s i o n c r e a t e C r i t e r i a(A d d r e s s c l a s s)a d d(R e-s t r i e t i o n s e q(”n s e r n a m e ,u s e m a m e)1 i s t()

23、;r e t u r nr e s u l t;);按I D 查找联系人p u b l i cA d d r e s sf i n d B y l d(S t r i n gi d)r e t u r n(A d d r e s s)g e t H i b e m a t e T e m p l a t e()g e t(A d d r e s s。c l a s s,n e wI n t e g e r(i d);判断某一个联系人是否存在p u b l i cb o o l e a ni s E x i s t(f i n a lS t r i n gu s e m a m e,f i n

24、a lS t r i n gn a m e)r e s u l t=躺s i o n c r e a t e C r i t e r i a(A d d r e s s c l a s s)a d d(R e s t r i c t i o n s e q(”L l s e r l l a n l e#,u s e r n a m e)a d d(R e s t r i c t i o n s e q(”n a m e”,n a m e)1 i s t();r e-C t u r nr e s u l t;);i f(1 i s t s i z e()0)lr e t u r nt r u e

25、;e l s e r e t u l mf a l s e;插入联系人万方数据2 0 1 0 年第1 0 期田娟等:基于J 2 E E 的M V C 设计模式的分析与思考5 7p u b l i cv o i di n s e r t(A d d r e s sa d d r e s s)lg e t H i b e r n a t e T e m p l a t e()f l a r e(a d d r e s s);更新联系人p u b l i cv o i du p d a t e(A d d r e s sa d d r e s s)g e t H i b e m a t e T e

26、m p l a t e()。u p,i a t e(a d d r e s s);删除联系人p u b l i cv o i dd e l e t e(S t r i n gi d)O b j e c tP2g e t H i b e m a t e T e m p l a t e()1 0 a d(A d d r e s s c l a s s,n e wI n t e g e r(i d)Z 乙g e t H i b e m a t e T e m p l a t e()d e l e t e(P);在a p p l i c a t i o n C o n t e x t x m l 中配

27、置D A O 及其代理。上面开发了一个基于H i b e m a t e T e m p l a t e 的D A O类A d d r e s s D A O j a v a,接着就需要在a p p l i c a t i o n C o n t e x t x m l 中配置该组件的B e a n 对象,并为该对象注入S e s s i o n F a c t o r y 对象,同时为该D A O 对象配置事务组件,使得对a d d r e s s D A O 的访问都在S p r i n g 的事务监管之下。(4)S t r u t s 第一步:开发S t r u t s 核心流程代码。以

28、上经过对H i b e r n a t e 持久化类、映射文件和D A O 类的开发,已经具备了数据层的功能代码,下面来开发S t r u t s 层的代码,用来调用该数据层实现数据库的操作。要进行S t r u t s 层的功能开发,需要分4 个步骤进行。开发S t r u t s 核心流程代码,包括A d d r e s s F o r m j a v a 和A d d r e s s A c t i o n j a v a 及配置。在这里开发A d d r e s s A c t i o n j a v a 原型功能,设计A d d r e s s A c t i o n j a v a

29、 的请求处理函数,函数现在还只是空架子,只能够进行页面的流转,没有实际的功能,目的是为了在开发J S P 页面后能够进行页面的流转。开发J S P 页面原型,包括数据列表页面a d d r e s s j s p、增加页面a d d r e s s a d d j s p、修改页面a d d r e s s e d i t j s p,并进行页面文字的国际化和样式修饰。增加表单校验功能。调用A d d r e s s D A O j a v a 操作数据库。修改A d d r e s s A c t i o n j a v a 调用A d d r e s s D A O j a v a 中的函

30、数,进行数据库的关联n2 l。A d d r e s s A c t i o n j a v a 核心代码如下:p u b l i cc l a s sA d d r e s s A c t i o ne x t e n d sB a s e A c t i o nl处理列表页请求p u b l i cA c t i o n F o r w a r dl i s t(A c t i o n M a p p i n gm a p p i n g,A c t i o n F-o r n if o r m,H t t p S e r v l e t R e q u e s tr e q u e s

31、t,H t t p S e r v l e t R e s p o n s e 盼s p o n s e)t h r o w sE x c e p t i o n r e t u r n(f o r w a r d);处理新增页请求p u b l i cA c t i o n F o r w a r da d d(A c t i o n M a p p i n gm a p p i n g,A c t i o n-F o r mf o r m,H t t p S e r v l e t R e q u e s tr e q u e s t,H t t p S e r v l e t R e s

32、 p o n s er e s p o n s e)t h r o w sE x c e p t i o n i f(i s T i m e o u t(r e q u e s t)r e t u r nm a p p i n g f i n d F o r w a r d(C o n s t a n t s I N D E XK E Y);A c t i o n F o r w a r df o r w a r d=m a p p i n g f i n d F o r w a r d(C o n s t a n t s A D D _ K E Y);r e t t t m(f o r w

33、a r d);处理插入数据请求时,首先从当前的S e s s i o n 中取得已经登录的用户名;然后调用a d d r e s s D A O 对象的i s E x i s t()函数查询当前输入的联系人姓名是否存在,如果不存在,则创建一个A d d r e s s 对象a d d r e s s,根据用户输入的表单数据a d d r e s s F o r m 来设置该对象的属性,然后调用a d d r e s s D A O 对象的i n s e r t()函数插入对象a d d r e s s。p u b l i cA c t i o n F o r w a r di n s e r

34、t(A e t i o n M a p p i n gm a p p i n g,A c t i o n F o r mf o r m,H t t p S e r v l e t R e q u e s tr e q u e s t,H t t p S e r v l e t R e s p o n s er e s p o n s e)t h r o w sE x c e p t i o n i f(i s T i m e o u t(r e q u e s t)r e t u r nm a p p i n g f i n d F o r w a r d(C o n s t a n t s

35、I N D E X K E Y);A c t i o n M e s s a g e m e s s a g e s=n e wA c t i o n M e s s a g e s();A d d r e s s F o r ma d d v e s s F o r m=(A d d r e s s F o r m)f o r m;S t r i n gu?l e n l a m e2g e t U s e m a m e(r e q u e s t);,c h e c ki fe】【i s t sb o o l e a nb=a d d r e s s D A O i s E x i s

36、t(u s e r n a m e,a d d r e s s F o n n g e t N a m e();i f(!b)i n s e ao b j e c tA d d r e s sa d d r e s s=n e wA d d r e s s();a d d r e s s s e t U s e m a m e(u s e l 3 1 a n l e);a d d r e s s s e t N a m e(a d d r e s s F o r m g e t N a m e();a d d r e s s s e t S e x(a d d r e s s F o r m

37、g e t S e x();a d d r e s s s e t M o b i l e(a d d r e s s F o r m g e t M o b i l e();a d d r e s s s e t E m a i l(a d d r e s s F o r m g e t E m a i l();a d d r e s s s e t Q q(a d d r e s s F o r m g e t Q q();万方数据5 8计算机与现代化2 0 1 0 年第1 0 期a d d r e s s s e t C o m p a n y(a d d r e s s F o r m

38、,g e t C o m p a n y();a d d r e s s s e t A d d r e s s(a d d r e s s F o r m g e t A d d r e s s();a d d r e s s s e t P o s t c o d e(a d d r e s s F o r m g e t P o s t c o d e();a d d r e s s D A O i n s e r t(a d d r e s s);s a v em e s s a g e sm e s s a g e s a d d(A c t i o n M e s s a g e

39、s G L O B A L M E S S A G E,n e wA c t i o n M e s s a g e(”8 d d I e s$m e s s a g e a d d S U C C E S S”):s a v e E r r o r s(r e q u e s t,m e s s a g e s);g e tp a g e f o r mf r o ms e s s i o nP a g e F o r mp a g e F o r m=(P a g e F o r m)g e t S e s s i o n(r e q u e s t,C o n s l a n t s P

40、 A G E R _ A D D R E S S);g e tp a g e rf o r ml i s tp a g eP a g e rp a g e r=a d d r e s s D A O f i n d P a g e r B y U s e m a m e(u s e r n a m e,p a g e F o r m g e t P a g e S i z e(),p a g e F o r m g e t P a g e N o();r e q u e s t s e t A t t r i b u t e(”a d d r e s s L i s t”,p a g e r

41、g e t R e s u h L i s t();r e q u e s t s e t A t t r i b u t e(p a g e r。p a g e r);r e t u r nm a p p i n g f i n d F o r w a r d(C o n s t a n t s L I S T _ K E Y);e l s e m e s s a g e s a d d(A c t i o n M e s s n g e s G L O B A L M E S S A G E,n e wA e t i o n M e s s a g e(a d d r e s s m e

42、s s a g e a d d,f a i l e d”);s a v e E r r o r s(r l u e s t,m e s s a g e s);r e q u e s t s e t A t t r i b u t e(”a d d r e s s F o r m B e a n”,a d d r e s s F o r m);r e t u r nm a p p i n g f i n d F o r w a r d(C o n s t a n t s A D D _ K E Y);处理修改页请求p u b l i cA c t i o n F o r w a r de d i

43、 t(A c t i o n M a p p i n gm a p p i n g,A c t i o n-F o r mf o r m,H t t p S e r v l e t R e q u e s tr e q u e s t,H t t p S e r v l e t R e s p o m e 廿s p o m e)t h r o w sE x c e p t i o n r e t u r nm a p p i n g f i n d F o r w a r d(C o n s t a n t s E D I T _ K E Y);处理修改数据请求p u b l i cA e f

44、 i o n F o r w a r du p d a t e(A e t i o n M a p p i n gm a p p i n g,A c f i o n F o r mf o r m,H t t p S e r v l e t R e q u e s tr e q u e s t,H t t p S e r v l e t R e s p o n s er e s p o n s e)t h r o w sE x c e p f i o nlA c t i o n F o r w a r df o r w a r d=m a p p i n g f i n d F o r w a

45、r d(C o n s t a n t s L I S T _ K E Y);r e t u r n(f o r w a r d);处理删除数据请求p u b l i cA c t i o n F o r w a r dd e l e t e(A c d o n M a p p i n gm a p p i n g,A c-t i o n F o r mf o r m,H t t p S e r v l e t R e q u e s tr e q u e s t,H t t p S e r v l e t R e s p o m er e s p o n s e)t h r o w sE x

46、 c e p t i o nir e t u r nm a p p i n g f i n d F o r w a r d(C o n s t a n t s L I S TK E Y);到这里个人通讯录模块的基本功能就开发完毕,当然还需进一步进行系统提升,本文设计了三个系统提升,分别是开发分页栏通用模块、S t r u t s 国际化访问以及系统安全访问,具体内容就不再一一叙述了。4结束语基于J 2 E E 的M V C 设计模式是开发软件非常好的基本模式,它很好地将业务处理与显示分离,将应用分为模型、视图以及控制层,使得开发人员会认真考虑应用的额外复杂性,把这些想法融进到架构中,增加了软件

47、开发的可重用性和可拓展性。如果能把握到这一点,M V C 模式会使得应用更加强壮,更加有弹性,更加个性化。参考文献:1 思志学显E E 整合详解与典型案例 M】北京:电子工业出版社,2 0 0 8 2 李里精通J 2 E E M 北京:人民邮电出版社,2 0 0 6 3 彭雷,李伟生利用设计模式构造高效W e b 应用开发的模型 J 计算机应用研究,2 0 0 5,2 2(1):1 7 4 1 7 6 4 刘斌精通J a v aw e b 整合开发:J S P+A J A x+S t r u t s+H i b e r n a t e M 北京:电子工业出版社。2 0 0 7 5 宋国庆软件开

48、发综合训练教程基于J a v aW e b 应用 M 北京:高等教育出版社,2 0 0 8 6 李刚轻量级J 2 E E 企业应用实战s t m t s+S p r i n g+H i b e r n a t e 整合开发 M】北京:电子工业出版社。2 0 0 7 7 谢艳平,胡家宝,谢承旺基于S t r u m 和H i b e r n a t e 的M V C 设计模式 J 交通与计算机,2 0 0 5,2 3(4):6 2-6 4 8 计磊,李里,周伟,等精通J 2 E E-E c l i p s e S t r u t s I-I i b e m a t e S p r i n g 整

49、合应用案例 M 北京:人民邮电出版社。2 0 0 6 9 刘中兵开发者突击:J a v aW e b 主流框架整合开发(J 2 E E+S t r u t s+H i b e r n a t e+S p r i n g)M 北京:电子工业出版社,2 0 0 8,1 0 朱庆红,吴宇红一种对象关系映射框架的分析和应用 J 电子科技,2 0 0 4(1):5 4-5 7 1 l】王长富,罗晓沛基于w e h 和J 2 E E 的办公自动化系统的设计 J 微电子学与计算机,2 0 0 7,2 4(8):4-7 1 2 刘晓华,等J 2 E E 企业级应用开发 M】北京:电子工业出版社,2 0 0 4

50、 1 3 中国高等职业技术教育研究会动态网页设计 M 北京:高等教育出版社,2 0 0 6 1 4 郑阿奇J a v a 实用教程 M 北京:电子工业出版社。2 0 0 5 万方数据基于J2EE的MVC设计模式的分析与思考基于J2EE的MVC设计模式的分析与思考作者:田娟,徐钊,TIAN Juan,XU Zhao作者单位:田娟,TIAN Juan(克拉玛依职业技术学院,新疆,独山子,833600),徐钊,XU Zhao(独山子石化炼油厂,新疆,独山子,833600)刊名:计算机与现代化英文刊名:COMPUTER AND MODERNIZATION年,卷(期):2010(10)被引用次数:1次

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 财经金融

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁