`
cppmule
  • 浏览: 436859 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Spring 3.0 MVC 与 Struts2 比较

 
阅读更多


项目刚刚换了web层框架,放弃了struts2改用spring3mvc 
当初还框架的时候目的比较单纯---springmvc支持rest,小生对restful url由衷的喜欢 
不用不知道 一用就发现开发效率确实比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 ,然后直接返回响应文本即可

 

 

 附上一段代码 :

@RequestMapping(value="/whitelists")

 

public String index(ModelMap map){

Account account = accountManager.getByDigitId(SecurityContextHolder.get().getDigitId()) ;

‍    List<Group> groupList = groupManager.findAllGroup(account.getId()) ;

    map.put("account", account);

    map.put("groupList", groupList);

    return "/group/group-index" ;

}

//@ResponseBody ajax响应  

@RequestMapping(value="/whitelist/{whiteListId}/del")

@ResponseBody  

public String delete(@PathVariable Integer whiteListId){

    whiteListManager.deleteWhiteList(whiteListId) ;

    return "success" ;

}

分享到:
评论

相关推荐

    spring3.0MVC中文教程

    此外Spring可以毫不费力地与其他流行的Web框架,如Struts,WebWork的,的Java Server Faces和Tapestry集成。 这意味着,你甚至可以告诉Spring使用Web框架中的任何一个。 比Spring更不紧耦合的servlet或JSP向客户端...

    spring3.0 mvc demo

    Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。

    spring3.0MVC中文教程.pdf

    此外Spring可以毫不费力地与其他流行的Web框架,如Struts,WebWork的,的Java Server Faces和Tapestry集成。 这意味着,你甚至可以告诉Spring使用Web框架中的任何一个。 比Spring更不紧耦合的servlet或JSP向客户端...

    spring3.0 MVC 中文教程

    此外Spring可以毫不费力地与其他流行的Web框架,如Struts,WebWork的,的Java Server Faces和Tapestry集成。 这意味着,你甚至可以告诉Spring使用Web框架中的任何一个。 比Spring更不紧耦合的servlet或JSP向客户端...

    Struts2整合Spring3.0

    Struts2整合Spring3.0,Spring虽然有自己的MVC,但是由于繁琐的配置,并不理想,Struts2可以和Spring完美结合,来完成MVC的实现。

    spring3.0_MVC之中文教程

    此外Spring可以毫不费力地与其他流行的Web框架,如Struts,WebWork的,的Java Server Faces和Tapestry集成。 这意味着,你甚至可以告诉Spring使用Web框架中的任何一个。 比Spring更不紧耦合的servlet或JSP向客户端...

    spring_MVC.zip

    参考Spring MVC Web框架,实现一个MVC Web框架.利用Java EE技术参考Spring MVC Web框架,设计并实现类似的框架,并利用该框架构建一个简单的Web应用。...- Spring3.0后全面超越Struts2,成为最优秀的MVC框架

    spring3mvc真正入门资料

    1、Spring3 MVC的学习难度小于Struts2,Struts2用不上的多余功能太多。呵呵,当然这不是决定因素。 2、Spring3 MVC很容易就可以写出性能优秀的程序,Struts2要处处小心才可以写出性能优秀的程序(指MVC部分) 3、...

    strruts2.1、Spring3.0、Hibernate3.3整合与S2SH的XML文件拆分.docx

    strruts2.1、Spring3.0、Hibernate3.3整合与S2SH的XML文件拆分.docx

    Struts_2+Spring_3+Hibernate整合开发.part5.rar

     《轻量级Java EE企业应用实战:Struts2+Spring3+Hibernate整合开发(第3版)》介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。其中Struts 2升级到2.2.1,Spring升级到3.0.5,Hibernate升级到了...

    Struts2+Spring3+Hibernate

    《轻量级Java EE企业应用实战:Struts2+Spring3+Hibernate整合开发(第3版)》是《轻量级Java EE企业应用实战》的第3版,第3版保持了第2版内容全面、深入的特点,主要完成全部知识的升级。  《轻量级Java EE企业...

    spring_MVC源码

    本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上。下面开始贴代码。 文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下。 先说...

    Struts_2+Spring_3+Hibernate整合开发.part2.rar

     《轻量级Java EE企业应用实战:Struts2+Spring3+Hibernate整合开发(第3版)》介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。其中Struts 2升级到2.2.1,Spring升级到3.0.5,Hibernate升级到了...

    Struts_2+Spring_3+Hibernate整合开发

     《轻量级Java EE企业应用实战:Struts2+Spring3+Hibernate整合开发(第3版)》介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。其中Struts 2升级到2.2.1,Spring升级到3.0.5,Hibernate升级到了...

    struts spring lib

    aspectjrt.jar aspectjweaver.jar ...spring-webmvc-struts.jar spring-webmvc.jar spring.jar standard.jar struts-spring-other-lib.rar struts.jar unittest.jar xercesImpl.jar xmlParserAPIs.jar

    Spring MVC 教程,快速入门,深入分析

    Spring MVC是当前最优秀的MVC框架,自从Spring 2.5版本发布后,由于支持注解配置,易用性有了大幅度的提高。Spring 3.0更加完善,实现了对Struts 2的超越。现在越来越多的开发团队选择了Spring MVC。

    OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR).rar

    OA办公自动化管理系统是一个基于Struts1.2、Hibernate3.0、Spring2和DWR技术栈的计算机专业JSP源码资料包。这个资料包为开发者提供了一个全面的、易于使用的、高效的办公自动化解决方案,旨在帮助企业实现信息化建设...

    Struts_2+Spring_3+Hibernate整合开发.part1

     《轻量级Java EE企业应用实战:Struts2+Spring3+Hibernate整合开发(第3版)》介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。其中Struts 2升级到2.2.1,Spring升级到3.0.5,Hibernate升级到了...

Global site tag (gtag.js) - Google Analytics