Struts1和struts struts2 区别的区别和对比

Struts1和Struts2的区别和对比_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Struts1和Struts2的区别和对比
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢struts1与struts2的特点与区别
struts1与struts2的特点与区别
17:12:00来源:
一.MVC的特点:— 多个视图可以对应一个模型。按MVC设计模式,一个模型对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护。 — 模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,例如,使用JSP页面、Velocity模板或者直接产生Excel文档等。— 应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性。 — 控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起,完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念。— MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。?二.Struts1的特点Struts 1以ActionServlet作为核心控制器,由ActionServlet负责拦截用户的所有请求。Struts 1框架有3个重要组成部分:Action、ActionForm和ActionForward对象。ActionForm必须实现ActionForm的基类,设计上并不是真正的POJOActionForward就是一个逻辑视图,通过在配置文件中定义ActionFoward的映射,完成逻辑视图名和实际视图资源之间的映射Struts 1的Action类与Struts 2的Action类有一定的类似性,都通过调用execute方法来处理用户请求。但最大的区别在于Struts 1 Action的execute方法与Servlet API耦合(ActionServlet继承自HttpServlet),但Struts 2 Action类的execute方法无需与Servlet API耦合。struts1的缺陷:(1).只支持JSP作为表现层技术,不能与Velocity,FreeMarker等技术整合(2).与Servlet API严重耦合,难于测试一个exute有四个参数ActionMapping、ActionForm、HttpServletRequest和HttpServletResponse,初始化困难.(3).侵入式设计,严重依赖于Struts1API,如如ActionMapping、ActionForm和ActionForward类.一旦系统需要重构时,这些类完全没有利用价值,导致较低的代码复用.?三.Struts2的特点struts2核心控制器:FilterDispatcherStruts 2用于处理用户请求的Action实例,并不是用户实现的业务控制器,而是Action代理——因为用户实现的业务控制器并没有与Servlet API耦合,显然无法处理用户请求。而Struts 2框架提供了系列拦截器,该系列拦截器负责将HttpServletRequest请求中的请求参数解析出来,传入到Action中,并回调Action 的execute方法来处理用户请求。显然,上面的处理过程是典型的AOP(面向切面编程)处理方式。?Struts2 Action有以下特点:— Action类完全是一个POJO,因此具有很好的代码复用性。— Action类无需与Servlet API耦合,因此进行单元测试非常简单。— Action类的execute方法仅返回一个字符串作为处理结果,该处理结果可映射到任何的视图,甚至是另一个Action。Struts 2的配置文件有两份:—配置Action的struts.xml文件。—配置Struts 2全局属性的struts.properties文件。下面是struts.xml配置文件的示例:Xml代码&struts&
&!--?Struts?2的Action都必须配置在package里?--&
&package?name="default"?extends="struts-default"&
&!--?定义一个Logon的Action,实现类为lee.Logon?--&
&action?name="Logon"?class="lee.Logon"&
&!--?配置Action返回input时转入/pages/Logon.jsp页面?--&
&result?name="input"&/pages/Logon.jsp&/result&
&!--?配置Action返回cancel时重定向到Welcome的Action--&
&result?name="cancel"?type="redirect-action"&We推荐这篇日记的豆列
······

我要回帖

更多关于 struts2与servlet区别 的文章

 

随机推荐