基于J2EE网络的MVC设计模式的应用
2015-10-21皮灿军
【摘要】J2EE(Java 2 Platform Enterprise Edition)平台,被设计来支持多层结构,降低了多层设计的复杂性和开发应用的费用,缩短了产品投放市场的时间。本文主要分析了J2EE平台及MVC设计模式,供同类开发研究参考。
【关键词】J2EE;Web应用;MVC
引言
Java语言的简单性和Internet/Intranet爆炸式的增长,使Java被广泛应用以实现多种类型的Web系统,实际上,一个Web应用系统由采用不同的技术的人员协同开发,没有统一的Java技术标准,他们各自设计出的信息产品难以相互兼容,为此Sun公司在1999年推出J2EE平台,该平台针对各种组件和服务架构等设有统一的标准,能满足当前Web应用系统开发的需求。
1.J2EE平台架构
J2EE平台属于现在主流架构中的一种,其主要是可以提供中间层的集成框架以便满足没有很多费用但是需要较高的扩展性、可靠性和可用性的应用要求。J2EE平台主要是以组件——容器模型为基础,针对应用系统的部署与开发进行了规范与简化,进而提高了可移植性、安全性及再用价值。J2EE平台的核心价值是可以为某些特定组件创造一个具备统一标准的运行环境。这些组件是一个能够部署的程序模块,它们在J2EE平台中以某种方式进行运行。在J2EE平台之中,各个组件都是不能够直接进行访问的,它们是通过平台中的某些方法与协议来进行相互的调用。一个以J2EE为基础的服务器,能够支持一种或者多种容器,一般有两种:Web容器:一种服务程序,为应用服务器(Jsp,Servlet)。提供一个运行环境,简化JSP网页,调用及管理Java Servlet和JavaServer Pag的存活期。EJB容器:加载EJB组件并管理其运行,只需要将符合J2EE标准的EJB放进这个容器,这个容器就会立刻对其进行管理,而且能够通过现有的接口取得系统级别的服务,例如事务管理,目录服务,容错性,资源缓冲池以及安全性。它们之间的关系如图1所示:
2.J2EE的优点
①产品开发的高效性: J2EE允许开发人员把那些很繁琐但是比较通用的服务端任务交给相应的供应商去完成。以便技术人员能够更快的创建新的应用和系统,缩短产品投入市场的时间,降低开发费用。②支持异构环境:基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。J2EE平台也支持客户从其他公司订购的和J2EE兼容的组件,将其部署在异构环境当中,这样可以有效降低自己定制整体方案的成本。③高度伸缩性:J2EE平台提供了各种各样的负载平衡策略。可以突破系统中的各种瓶颈,从而达到多台服务器共同部署的效果。并且能够联合数千处理器共同部署,使系统能够达到高度伸缩的性能,以便适应以后商业应用的要求。
3.J2EE组件
组件(component)被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。J2EE平台支持的组件种类分别是:Web组件、EJB组件、JavaBeans组件、Applet及客户组件。其中客户组件和Applet、JavaBeans运行在客户端,而Web组件和EJB运行在服务器端。客户组件:是一种独立的Java程序,既可以基于Web方式,也可以基于传统方式。Applet、JavaBeans组件:由Java语言写成的可重用组件,提供了一种随时随地的复制和粘贴的功能,不用担心任何改变。EJB组件:术语为企业Bean,是可伸缩的,事务性的,多用户安全的。Web组件:动态地处理请求并作了响应,为基于Web的应用程序生成用户界面。
4.MVC设计模式
MVC的核心价值是能够做到三层或者多层的松散耦合,它是把一个应用系统分成三个组件:①M:是应用程序中处理数据逻辑的部分,通常是用于在数据库当中存取数据。②V:是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的。③C:是应用程序中处理用户交互的部分,通常控制器是用于从视图中读取数据,控制用户的输入,并且向模型传递数据。M—V—C之间的关系如图2所示:我们在图2中可以看出,MVC模式的工作程序是,首先用户的请求交由控制器来接收,并且判断应当选择哪个模型来对其进行处理,之后模型调用业务逻辑开始处理用户请求,处理好之后返回数据,最后控制器用对应的视图来返回数据,并且利用表示层来呈现给用户。
5.J2EE网络平台中MVC设计模式的应用
MVC设计模式是一种可以进行分离数据维护以及数据表现的方式,在J2EE中加入MVC设计模式,有利于将应用细分成为合理的组件,以便于开展系统的扩充、维护以及系统的开发。基于J2EE与MVC设计模式的系统模型如图3所示,这个模型参考了模型2的设计思路,它的技术原理为:将Microsoft SQL Server,Oracle,Sybase等企业级数据库系统作为后台的数据库,将Servlet等高性能服务端程序作为后台总的控程序,前台运行JSP页面,Servlet主要是用来接受用户输入,分别调用不同的JSP页面向浏览器返回信息,JSP/Servlet通过HTTP连接于服务器端与浏览器端传输信息;JSP/Servlet并不是利用JDBC技術来直接访问数据库系统,而是将数据传送给EJB组件,然后让EJB组件对数据库再进行操作,这样就能够封装系统内部的数据。EJB与JavaBean组件还能够将事务进行细分至其他组件之中进行处理,最后将数据库返回来的结果,由JSP/Servlet传递到前端进行显示。
参考文献
[1]陆荣幸等著.J2EE平台上MVC设计模式的研究与实现.计算机应用研究,2003.3.
[2]王向东.基于J2EE分布式系统的持久性框架设计策略的研究.广西大学硕士论文,2003.
作者简介
皮灿军,女,本科,讲师,研究方向为计算机软件.