浅谈Struts与Spring在MVC模式中的应用.docx

上传人:caoka****i234 文档编号:130830773 上传时间:2020-05-02 格式:DOCX 页数:2 大小:38.56KB
返回 下载 相关 举报
浅谈Struts与Spring在MVC模式中的应用.docx_第1页
第1页 / 共2页
浅谈Struts与Spring在MVC模式中的应用.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《浅谈Struts与Spring在MVC模式中的应用.docx》由会员分享,可在线阅读,更多相关《浅谈Struts与Spring在MVC模式中的应用.docx(2页珍藏版)》请在金锄头文库上搜索。

1、浅谈Struts与Spring在MVC模式中的应用摘要:本文主要介绍了当前比较流行的两个MVC框架,Struts和Spring MVC,本文中主要分为三部分,第一部分主要介绍了Struts框架的基本体系结构和工作原理,并简单总结了Struts的优缺点,第二部分主要介绍Spring框架的组成,并简单总结了Spring的优缺点,第三部分,通过对于两个框架的总结,进行了简单对比。关键词:MVC Struts Spring0 引言MVC框架是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件设计模式,其中M是指数据模型,V是指视图界面,C是指控制器,使用MVC的目的

2、是将数据模型和视图界面实现代码分离,从而使同一个应用程序可以使用不同的表现形式,目前MVC在Java EE里已经广泛使用,并不断有新的MVC框架发布。各个MVC框架都有各自的优势和不足,在进行项目开发的过程中,如何选择一个合适开发框架就是需要重点考虑的问题,选择了合适开发框架可以提高开发的效率。本文将主要对于目前最流行、最常用的两类MVC框架Struts、Spring MVC进行简要介绍,并对比两者的不同之处。1 struts简介Struts是Apache软件基金下Jakarta项目的一部分。Struts框架的主要架构设计和开发者是Craig R.McClanahan。Struts是目前Jav

3、a Web MVC框架中不争的王者。经过多年的发展Struts已经逐渐成长为一个稳定、成熟的框架,并且占有了MVC框架中最大的市场份额。1.1 struts的体系结构 struts是一个基于Sun J2ee平台的MVC框架,它将Servlet和JSP标签作为实现自身功能的一部分。MVC的每个特征Struts都有,而且还在他的基础上有了进一步的创新,它的体系结构如1-1所示。图1-1向我们展示了Struts的体系结构的三部分:视图(View),模型(Model)和控制器(Controller)。视图(View):Struts的视图主要是JSP文件。Struts提供了许多定制JSP标签,它们使用起

4、来简单、功能强大,在创建视图界面的时候使用Struts标签可达到事半功倍的效果。模型(Model):模型组件代表应用的业务数据和逻辑。Struts中的系统模型的状态主要由ActionForm Bean和值对象来体现。控制器(Controller):Struts的控制器主要是ActionServlet,但是操作业务逻辑的则是Action、ActionMapping和ActionForward,业务逻辑工作主要是在他们的相互作用下实现的。其中Action是真正的业务逻辑的实现者,ActionMapping与ActionForward的任务是指定不同的业务逻辑或流程的运行方向。1.2 struts的

5、工作原理 在Struts中,担任控制器工作的是ActionServlet,所有的请求都会发送给ActionServlet,当ActionServlet接受到一个请求时,会根据URI来决定使用哪一个Action处理请求。如图1-2所示:在上图中,当ActionServlet接受一个来自客户端的请求时,执行以下操作:检索和请求相匹配ActionMapping实例,若是匹配就进行下一步创建ActionForm,但是若不存在则返回请求路径无效500错误信息。检查是不是存在ActionFrom实例,若不存在,就创建一个ActionForm 对象,在ActionFrom中保存好用户提交的表单数据。是否需要

6、表单验证(validate)是由其配置决定的,验证时采用的是ActionForm的validate()方法。ActionServlet从ActionMapping实例所包含的映射信息出发,最终决定由哪个Action接收,如果不存在相应的Action实例,那就要先创建一个合适的Action实例,然后调用Action的execute()方法。Action的execute()方法返回一个ActionForward对象。ActionServlet把转发给ActionForward对象指向的jsp组件。ActionForward对象指向的jsp组件生成的动态网页,返回给客户端。1.3struts的优缺点

7、1.3.1 优点 实现MVC模式,结构清晰,这样开发者只关注业务逻辑的实现。可使用的tag有很多,Struts的标记库(Taglib),如能灵活动用,就会使开发效率变得高很多。页面导航。这一功能在以后的发展中表现出了良好的前景,实际上,这样可使系统的脉络更清晰。提供Exception处理机制。数据库链接池管理。支持I18N。1.3.2 缺点 Struts的Action必需是threadsafe方式,它要求只需一个实例处理全部请求。Struts的每个Action都会跟Web层耦合起来,进行测试时离不开Web容器,也不容易进行单元测试。Struts的FormBean将全部数据都看做String类型

8、,它可借助工具Commons-Beanutils做类型转化。但它的转化都是在Class级别,而且转化的类型是不可配置的。不容易将类型转化时的错误信息返回给用户。Struts处理Action时离不开ServletRequest 和ServletResponse,所以必须要有Servlet容器。Struts创建一个Action,极其不容易控制它的执行顺序,而且要想实现这一功能,很可能需要重新去写Servlet。Struts处理Action以class的hierarchies为基础,不容易在action处理前和后进行操作。2 Spring简介2.1 Spring概述 Spring是一个提供了解决Java EE问题的一站式框架。Spring的核心是控制反转,通过配置文件来完成业务对象之间的依赖注入,它是对接口编程而不是对类编程。

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

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号