spring3mvc与struts2比较

我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置 
spring3 mvc可以认为已经100%零配置了(除了配置springmvc-servlet.xml外)

比较了一下strus2与spring3 mvc的差别

============================================ 
struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入
struts2实际上是通过setter getter方法与request打交道的 
struts2中,一个Action对象对应一个request上下文

spring3 mvc不同,spring3mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去
在spring3mvc中,一个方法对应一个request上下文

好了 我们来整理一下 
struts2是类级别的拦截, 一个类对应一个request上下文, 
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现restful url 
而struts2的架构实现起来要费劲 
因为struts2 action的一个方法可以对应一个url 
而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了

=================================== 
spring3mvc的方法之间基本上独立的,独享request response数据 
请求数据通过参数获取,处理结果通过ModelMap交回给框架 
方法之间不共享变量

而struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的 
这不会影响程序运行,却给我们编码 读程序时带来麻烦

==================================== 
spring3 mvc的验证也是一个亮点,支持JSR303 
处理ajax的请求更是方便 只需一个注解@ResponseBody ,然后直接返回响应文本即可

时间: 2024-10-07 18:41:21

spring3mvc与struts2比较的相关文章

Struts2、SpringMVC、Servlet(Jsp)性能对比 测试

Struts2.SpringMVC.Servlet(Jsp)性能对比 测试 . Servlet的性能应该是最好的,可以做为参考基准,其它测试都要向它看齐,参照它. 做为一个程序员,对于各个框架的性能要有一个基本的认知,便于选型时做出正确的决策. 在测试中发现了什么也不要大喊大叫,因为这些都是Java程序员的基础知识. 人人都要了解. ----------------------------------------------------------------------------------

Java MVC框架性能比较

- by zvane 现在各种MVC框架很多,各框架的优缺点网络上也有很多的参考文章,但介绍各框架性能方面差别的文章却不多,本人在项目开发中,感觉到采用了struts2框架的项目访问速度,明显不如原来采用了struts1框架的项目快,带着这些疑惑,我对各类MVC框架的做了一个简单的性能分析比较,其结果应该说是基本符合预期的,可供大家参考. 测试环境:CPU:酷睿2 T5750,内存:DDR2-667 2G,Web容器:Tomcat6.0,最大线程数设置为1000,操作系统:WinXP-sp3 测

struts1,struts2,springMVC终极对比

最近做项目用到了struts2,之前一直是用struts1和springMVC.感觉到了struts2从很大程度上和这两个还是有很大区别的,所以今天搜集了些资料,给他们做一下对比. Struts1官方已经停止更新,现在用的也比较少,这里主要讲一下struts2和struts1比较都有哪些不同和进步.Struts2可以说不是完全从struts1改进来的,因为struts2原本就是举世闻名的Webwork2,在经历几年的发展之后,struts和WebWork社区决定合二为一,也就是今天的struts

Struts1和Struts2的区别和对比(完整版)

Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物. 简单来说二者的区别是: 一个是Stuts1 ,一个是Stuts2,这是最大的区别,技术方面,Stuts1有个核心控制器,但是只提供了一个接口,也就是execute,还要配置actionform之类的,很麻烦,所以依赖性比较强:而Stuts2是针对拦截器开发的,也就是所谓的AOP思想,可以配置多个act

Spring MVC 和 Struts2 的区别?

1.请求拦截级别 struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入 struts2实际上是通过setter getter方法与request打交道的 struts2中,一个Action对象对应一个request上下文 spring3mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去 在spring3mvc中,一个方法对应一个request上下文 总结: struts2是类级别的

Struts2和Spring MVC的区别

概述: Struts2框架中,Action类是其核心类,XxxAction被称作业务逻辑控制器,实现了对用户请求信息的处理.Struts2框架的引入,使用XxxAction作为控制层,将视图层和模型层相分离,真正实现了MVC开发模式,使得整个工程分成Model(持久层/业务层).View.Controller三层,使得软件耦合度被降低. SpringMVC和Struts2框架的功能相似,也是实现视图层和控制层的分离,使得软件耦合度降低.并且,SpringMVC 是Spring内置的Spring 

解决myeclipse中struts2 bug问题包的替换问题

因为struts2的bug问题,手工替换还是比较麻烦,但即便是最新的myeclipse2014也没有替换最新的struts2包,研究了一天,终于找到了解决办法.以下就解决方法与大家分享一下. 1.在perferences中找到 Myeclipse->Project Libraries,右边找到 struts2.1 Libraries,点击 Enable advanced configiguration,去掉以下文件前面的对勾,然后点击 Add custom Jars 2.在弹出的对话框中选择 A

【Struts2】SSH如何返回JSON数据

  在开发中我们经常遇到客户端和后台数据的交互,使用比较多的就是json格式了.在这里以简单的Demo总结两种ssh返回Json格式的数据 项目目录如下 主要是看 上图选择的部分 WebRoot里面就是平常的配置 第一种方法是使用com.google.gson.Gson 将对象转化为Json字符串  (gson-1.6.jar) 主要的代码如下 1 package com.javen.tool; 2 3 import java.io.IOException; 4 import java.io.P

struts2 版本所导致的 Filter 不同

过了好久又重新接触Struts2,使用maven直接获取的struts2-core-2.5.1的包,从网上直接copy了一段web.xml中的Filter,结果报错,struts2.3.x  以后用以下配置: 1 <filter> 2 <filter-name>struts2</filter-name> 3 <filter-class> 4 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExe