首页 > 范文大全 > 正文

基于J2EE的MVC开发框架探讨

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于J2EE的MVC开发框架探讨范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要: 随着J2EE技术的发展,产生了许多优秀的基于MVC模式的Java Web框架。如何根据实际项目的特点选择合适的Web框架进行项目开发成为系统开发人员面临的一个重要挑战。本文对j2ee应用中几种流行的mvc开发框架进行了深入比较分析和探讨

Abstract: Along with the development of J2EE technology, many excellent Java Web frames based on MVC pattern were produced. It becomes a major challenge for system developers that how to choose the appropriate Web framework according to the characteristics of the actual project to develop projects. This paper makes a deep comparison analysis and discussion to several popular MVC frameworks in the application of J2EE.

关键词: J2EE;MVC;Struts;Spring;Web Work;Tapestry;JSF

Key words: J2EE;MVC;Struts;Spring;Web Work;Tapestry;JSF

中图分类号:TP311 文献标识码:A文章编号:1006-4311(2010)19-0102-02

0引言

随着应用程序的大型化和复杂化,传统开发方式已不能满足应用需求。MVC(模型一视图一控制器)设计模式的引入很好的解决了上述问题,MVC的核心思想就是视图层只关注显示相关的内容,模型层只负责业务逻辑,控制器则把视图和模型相互联系起来。然而在现实中由于每个人对应用的理解不尽相同,所以很难严格按照MVC的规范来做。在J2EE的应用中,已经出现了很多实现MVC规范的框架,框架是可重用半成品软件。在J2EE的应用中使用这些实现了MVC规范的框架,开发人员采用“填空式”的方式来进行软件开发,有助于开发者快速和容易地建立起可扩展、可复用的大型的企业级应用,大大提高开发效率,同时也可以大大降低因人员变更所带来的风险,随着J2EE的成熟,MVC设计模式正成为在J2EE平台上推荐的一种设计模型,也是广大Java开发者非常感兴趣的设计模型。

1Web MVC框架的三种类型

1.1 基于请求驱动目前最流行的Web MVC框架,如WebWork、Struts、Spring MVC。

1.2 基于事件驱动代表的Web MVC框架有Tapestry、JSF(JSR127)。

1.3 基于Portlets(JSR168)类似于Servlets,代表的Web MVC框架是JetSpeed。

2MVC框架简介

2.1 Struts MVCStruts是一个基于J2EE平台的轻量级开源MVC框架,也是目前最成熟的Web框架的之一。Struts是Apache软件基金下Jakarta项目的一个组成部分。Struts简单易用、敏捷迅速,它把Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,极大地节省了运用MVC模式开发Web应用的时间。

2.2 Spring MVCSpring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。从大小与开销两方面而言Spring都是轻量级的。Spring通过一种称作控制反转(IOC)的技术促进了松耦合。同时,Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。

2.3 WebWork MVCWebWork是由OpenSymphony组织开发的,致力于组件化和代码重用,是基于MVC模式的JavaWeb框架,较Struts框架更为简单、灵活、高效。

2.4 Tapestry MVCTapestry是基于组件的Java Web应用框架。它架构在Java Servlet基础之上,用于创建动态、交互式网站。在Tapestry中一切都是组件。Tapestry框架是一个位于Java Servlet容器和Tapestry应用程序之间的层。Tapestry不是一个独立运行的服务器,是一个Servlet的扩展,运行于Servlet容器或包含Servlet容器的应用服务器中。Tapestry应用其实是由一系列页面组成,页每个页面是由可以复用的组件构成。

2.5 JSF 框架JavaServer Faces(JSF)是一种用于构建Web应用程序的新标准。JSF非常简单,是一个定义良好的编程模型。利用这个技术,开发者通过在页面内组合可重用的UI组件,在把这些组件和应用的数据源相连,路由客户产生的事件到服务器端的事件处理器进行编程。JSF处理了所有幕后的复杂工作,使得开发者把关注重点放在应用代码上。

3MVC框架的比较分析

对于Struts来说,由于许多问题已经被解决,使用它开发容易。HTML标签是它最优秀的地方。Struts是目前Java Web MVC框架中不争的王者。经过长达五年的发展,Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。但是Struts某些技术特性上已经落后于新兴的MVC框架。面对Spring MVC、Webwork2这些设计更精密,扩展性更强的框架,Struts受到了前所未有的挑战。但站在产品开发的角度而言,Struts仍然是最稳妥的选择。

Spring作为一个轻量级的控制反转( IOC) 和面向切面(AOP)的容器框架已经非常优秀,如果非要谈论其不足,Spring框架的开放性可能会给它带来一些不好的因素,另外它的控制器过于灵活,缺少一个公用控制器。

WebWork结构简单易于扩展,标签库易于定制,拦截器也非常出色,但它的文档示例少,客户端验证技术不成熟。

Tapestry技术过于复杂,学习难度高,实现很不容易。这样就算你掌握了这种技术,仍然不能够把整个Web层做出来,还需要掌握其他很多相配合的技术,然后整合一个Web层的完整框架出来。

相对于以上几种框架技术,我个人更看好JavaServer Faces,抛开JSF是标准而非一个简单的open source framework,笔者认为,JSF将是未来发展的主流,因为软件开发“工业化”不可避免的是未来发展的方向。

4SSH的体系架构

SSH即Struts2+Spring+Hibernate,表现层的开源Struts2,数据持久层的Hibernate框架以及中间层的Spring框架,这三者构成了当前主流的开发J2EE应用的轻量级框架组合,使用Struts2架构作为了整个系统的基础框架,它负责了MVC模型中各层的分离,使项目的可扩展性大大增强,提升了开发效率,降低了维护成本。Hihernate作为持久层上的“对象-关系”映射轻量级组件,对持久层进行了轻量级封装,降低了程序的复杂度,减轻了开发的负担。中间业务逻辑层由Spring支持,Spring作为一个优秀的轻量级框架,具有强大的应用功能及灵活性,非常适合中间层平台。三个框架的组合将在web企业开发中有广阔的发展空间。

5结束语

随着技术的进步,各种Web框架的功能必将不断发展和完善。对于业务逻辑较简单的系统,开发人员可以根据项目的特点选择合适的框架作为基础进行开发。对于业务逻辑复杂的系统,开发人员可以充分利用各框架的优势进行整合开发,从而提高系统的性能和开发效率。

参考文献:

[1]强勇军,杨春.基于MVC的J2EE应用开发分析与比较.实验科学与技术,2008,(6).

[2]叶加青.Spring框架技术的应用.计算机时代,2009,(10).

[3]秦海鸥,蔡秋枫.Struts、Spring和JSF框架的比较与分析.科技广场,2009,(7).

[4]叶显中,刘晓燕,周绍景.基于J2EE平台的MVC框架的研究.工业控制计算机,2010,(4).

[5]张文.J2EE开发框架Javaserver Faces(JSF)个人经验.硅谷,2008,(21).

[6]刘贤金,王光琼.基于MVC模式的Struts+Hibernate框架的Web应用研究与实现.现代计算机,2009,(11),下半月版.