当前位置:天才代写 > tutorial > JAVA 教程 > 基于MVC设计模式的WEB应用框架研究

基于MVC设计模式的WEB应用框架研究

2017-11-11 08:00 星期六 所属: JAVA 教程 浏览:417

副标题#e#

摘要 MVC设计模式是基于J2EE的WEB应用开拓的首选模式,当前很多风行的框架也都是基于MVC设计模式的。本文扼要先容了MVC设计模式和Struts框架,并提出了一种基于MVC模式的新型WEB应用开拓框架——WebFramework,并对该框架的各个条理的构成、成果举办了具体的描写。

要害词 MVC设计模式;J2EE;框架;Struts

引言

跟着开源软件的鼓起,各类框架也纷纷呈现,如Apache 的开源框架Struts就是典范的代表。在实际软件开拓中运用这些框架,大大低落了J2EE开拓的巨大度和难度,低落了开拓本钱。可是这些框架也有不敷的处所,如难于把握,设置巨大等等。本文研究的目标在于设计出一种简朴易行的WEB开拓框架——WebFramework,WebFramework布局清晰,易于领略,增加系统的可扩展性,可维护性,低落开拓本钱。

MVC设计模式

基于J2EE的WEB应用系统,大都都操作MVC模式来实现其体系布局。MVC(Model-View-Controller)是八十年月为编程语言Smalltalk-80发现的一种软件设计模式。MVC模式将交互式应用分成模子(Model)、视图(View)和节制器(Controller)三部门[1]。模子是指从现实世界中挖掘出来的工具模子,是应用逻辑的反应。模子封装了数据和对数据的操纵,是实际举办数据处理惩罚的计较的处所。视图是应用和用户之间的接口,它认真将应用显现给用户和显示模子的状态。节制器认真视图和模子之间的交互,节制对用户输入的响应响应方法和流程,它主要认真两方面的行动:把用户的请求分发到相应的模子;将模子的改变实时回响到视图上。MVC将这些工具疏散以提高机动性和复用性。MVC模式的布局如图1所示:

基于MVC设计模式的WEB应用框架研究

图1 MVC设计模式的布局

Struts框架

Struts是Apache基金会Jakarta项目组的一个Open Source项目,它将Servlet2.2和JSP1.1标志用作实现的一部门,它由一组彼此协作的类、servlet和JSP标志,构成一个可重用的系统设计。它可以或许很好地辅佐Java开拓者操作J2EE开拓WEB应用。它将设计模式中“疏散显示逻辑与业务逻辑”的本领发挥的极尽描述。因此,越来越多的大型的WEB应用项目标开拓都纷纷回收Struts框架,可能警惕Struts架构设计,举办基于MVC模式的应用系统的开拓。

Struts的事情道理如图2所示:

基于MVC设计模式的WEB应用框架研究

图2 Struts 的事情道理

Struts的利益主要表此刻两个方面:表单验证和页面导航。表单验证办理了请求数据的验证问题,加强了系统结实性。而页面导航使系统的业务流程脉络清晰,系统各部门之间的接洽可以通过设置文件反应出来,从而在必然水平上简化了系统今后的维护事情。


#p#副标题#e#

可是Struts也存在一些不敷:

1)陡峭的进修曲线。Taglib是Struts的标志库,假如能机动运用,能大提高开拓效率,但对初学者来说,却需要一个一连进修的进程,增加了系统的开拓本钱。

2)增加了系统的巨大度。业务层和表示层之间的耦合度太高,使得开拓人员无法专注于表示层的设计和实现。

3)没有对表单数据前端验证提出方案,倒霉于在大型系统中利用。

4)设置文件过于巨大繁索,跟着系统局限的增大,struts-config.xml越来越复杂,维护也变得越来越坚苦。

WebFramework框架

针对Struts框架的以上不敷之处,本文提出WebFramework框架,与Struts框架对比,WebFramework更简朴易行,它通过简化表示层的设计,低落开举事度,节省开拓本钱;利用VO(Value Object)作为数据通报的方法,低落系统巨大度;运用简朴的欣赏器端表单字段数据验证,提高系统的运行效率;简化的设置文件,便于系统的维护。

设计方针

遵循J2EE类型,基于多层漫衍式应用软件开拓框架,漫衍式的条理构架方法可以提高软件系统机能上的可扩展性,从恒久的角度上保障了客户对当前的软件投资;实现软件系统在异常环境下也可以正常地提供处事,提高软件系统的不变性;各个构架条理逻辑疏散,有利于软件开拓进程中团队成员的协同事情,提跨越产效率。

2、框架布局

在设计计策中,将软件系统从构架上分为数据层、业务逻辑层和暗示层,主要会合在业务暗示与业务逻辑层。将普通三层架构的暗示层细分成视图名目层和暗示节制逻辑层。暗示层涉及基于“瘦客户”技能的用户视图名目处事器端暗示和相应的交互式节制逻辑。视图名目层,只保存了构建客户端用户视图须要的显示名目和事件触发;而在暗示节制逻辑层则如名称所描写的那样,实现了人机交互所需节制逻辑和部门业务会话逻辑,再加上贯串所有系统逻辑层的业务实体,则组成了以MVC模式为焦点的暗示层架构,将显示名目、显示节制逻辑、模子数据三部门有效地脱离开来,大大增强了系统架构的可扩展性和应用子系统的可插拔性。

#p#分页标题#e#

业务层细分成业务会话层和业务耐久化层。业务层会合在业务流程中处理惩罚逻辑的组件化封装,且与数据层平台和外部系统无关。业务会话层,偏重于业务勾当,将一项业务的所有勾当事务性地封装起来,也确保业务流程处理惩罚的一致性和高效率;而业务耐久化层则是为业务会话层提供支持,提供业务数据的耐久化操纵,在业务与数据库之间成立疏散浸染的中间层,组成松耦合的架构。

天职层模子中实现了MVC设计模式。个中,Servlet组件对应于MVC中的节制器(Controller)部门,JSP及Browser对应于视图(View)部门,而会话外观、逻辑Bean及值工具则对应于模子(Model)部门。其布局图3所示:

2.1、数据层

(1)层界说

数据层对数据举办打点,并向业务逻辑层提供尺度化的开放会见接口。

数据层今朝主要提供两种形式的处事方法:数据库方法和文件方法。数据库主要提供业务操纵数据等具有明明布局化特性的数据的存储和会见处事;文件主要提供包罗扫描文档图像、传真、照片、计较机生成的陈诉、字处理惩罚文档、电子表格、演示文稿、语音和视频片断等非布局化数据的存储和会见处事。

主要成果:数据建设、数据存储、数据查询、数据更新、数据删除、数据安详、事务支持、数据备份/规复。

(2)与其他层接口

1)数据库方法的数据层面向业务逻辑层提供数据库会见处事接口,业务逻辑层通过JDBC协议会见数据库处事。

2)文件方法的数据层面向业务逻辑层提供文件级的会见处事接口,业务逻辑层通过操纵系统自己提供的文件会见API会见文件数据。

基于MVC设计模式的WEB应用框架研究

图3 MyFramework框架布局图

#p#副标题#e#

2.2 业务逻辑层

(1)层界说

业务逻辑层接管从暗示层输入的用户请求,将其转化为业务逻辑进程可以或许领略的方法,按照特定的业务逻辑有序地向数据层发送数据请求,并将数据层返回的数据表明及组合成用户所需信息,返回给暗示层,是整个应用软件系统中业务逻辑的实现和处理惩罚焦点。业务逻辑层运行在基于J2EE应用处事器的EJB及WEB容器中。

(2)组件界说

业务逻辑层包括会话外观(Session Fa?ade)、逻辑Bean(Logic Bean)和和数据存取Bean(Data Access Bean)等三个逻辑组件。

1)会话外观

提供了面向暗示层的统一的业务逻辑挪用接口;是数据存取事务的界线,所有数据存取事务都由会话外观举办打点,即会话外观认真数据存取事务的开始和封锁。

业务逻辑完成方法:通过挪用逻辑Bean实现业务逻辑。

2)逻辑Bean

提供了业务逻辑详细实现;具有可复用性:可以直接被会话外观挪用,实现会话外观所需的业务逻辑;可以被其他逻辑Bean挪用,此时此逻辑Bean作为一个更巨大的业务逻辑的一个构成部门。

业务逻辑完成方法:可以通过挪用其他的逻辑Bean实现相对巨大的业务逻辑;可以直接挪用数据存取Bean完成相对简朴的业务逻辑。

3)数据存取Bean

提供了数据层的会见接口;不认真打点事务,它只是被动的利用挪用者传入的事务情况;与数据库表的映射方法,凡是采纳单个数据表对应单个数据存取Bean的映射方法,由单个数据存取Bean包括对应单个数据表的所有相关数据会见操纵。

4)值工具

包括业务逻辑实体的属性,不包罗业务逻辑实体的操纵;是暗示层和业务逻辑层数据互换的主体单位,和会话外观一同构成了完整的业务逻辑实体,提供了业务逻辑层面向暗示层的统一接口;与数据库表的映射方法,凡是采纳单个数据表对应单个值工具的映射方法;可以与差异范例值工具以聚合方法构成新的值工具。

(3)与其他层接口

1)由会话外观提供面向暗示层的业务逻辑挪用接口,暗示层通过Java当地挪用会见业务逻辑层。

2)数据存取Bean通过JDBC会见数据库处事。

3)数据存取Bean通过操纵系统提供的系统处事会见文件数据。

#p#副标题#e#

2.3 暗示层

(1)层界说

暗示层接管用户提交的输入请求,通过对业务逻辑层的会见,得到并向用户输出可视化响应。

(2)组件界说

回收MVC设计模式,由Servlet提供页面请求和请求响应的总体节制,JSP和欣赏器提供请求功效响应的可视化显示。

1)Servlet

#p#分页标题#e#

吸收所有用户由通过欣赏器提交的业务请求,并合成相应的值工具,会见业务逻辑层完成业务逻辑实体的业务处理惩罚;将业务逻辑实体的变革以值工具的方法通知并转向相应的JSP。

2)JSP

按照Servlet奉告的值工具,合成请求响应功效的最终输格外式化文本(HTML);将合成名目化文本以网络协议的方法发送给提交业务请求的用户欣赏器。

3)欣赏器

提供用户输入业务请求数据的输入界面,数据验证通事后提交业务请求;吸收业务请求响应的HTML文本,将业务请求响应功效以可视化的会见泛起给用户。

4)WebService

是业务逻辑层对外部系统提供处事的界线和接口,完成和外部系统的集成和交互。

(3)与其他层接口

1)Servlet通过Java当地挪用会见业务逻辑层。

2)欣赏器通过HTTP/HTTPS协议向暗示层提出业务请求并吸收暗示层的业务响应。

3、框架的设置文件

(1)系统初始化设置文件:web.xml

该文件是Controller专属的设置信息文件。节制器在第一次启动时需要从这个文件载入系统的设置信息。文件内容如下:

<servlet>
<servlet-name>controlservlet</servlet-name>
<servlet-class>mytools.control.web.ControlHan-dler</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>controlservlet</servlet-name>
<url-pattern>/controler</url-pattern>
</servlet-mapping>

(2)页面导航设置文件:web_config.xml

<?xml version="1.0" encoding="GB2312"?>
<web-config>
<forwards>
<forward name="XX" path="filename.jsp"/>
…………
</forwards>
<action-mappings>
<action name="XX" type="ActionClassName" method="methodName"/>
…………
</action-mappings>
</web-config>

web_config.xml文件是整个框架的重要部门,它节制了系统执行时的执行流程。该文件包罗两种元素:<forwards>和<action-mappings>,个中<forwards>元素用来配置当前要转向挪用的JSP页面,而<action-mappings>则配置了当前用户提交的操纵要挪用哪一个Action 类,及当前类中的哪个要领。

总结

WebFramework框架已经在一个航运打点项目中颠末测试和检讨,实践证明,此框架在中大型项目开拓中,可以缩短开拓周期,提高开拓效率,系统运行不变,易于维护。

有关应用开拓框架的研究是一个不绝深入,慢慢完善的进程,在对WebFramework不绝推广试用的基本上,还将进一步扩展其成果,使其应用规模越发遍及。

 

    关键字:

天才代写-代写联系方式