`
cppmule
  • 浏览: 448962 次
  • 性别: 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.0 MVC中文教程

    3. **与其他框架的集成**:Spring MVC可以轻松地与其他流行的Web框架(如Struts、WebWork、Java Server Faces和Tapestry)集成。 4. **视图技术的多样性**:除了传统的JSP,Spring MVC还支持Freemarker、Excel、PDF...

    spring3.0MVC中文教材

    - **高度可配置性**: Spring MVC的设计非常灵活,可以轻松地与其他流行Web框架(如Struts、WebWork、JSF和Tapestry)集成,使得开发者可以根据项目的具体需求选择最适合的技术栈。 - **与其他框架的无缝集成**: ...

    spring3.0 mvc中文实例教程

    【Spring3.0 MVC框架简介】 Spring3.0 MVC是Spring框架的重要组成部分,专注于构建高性能、健壮的Web应用程序。这个框架具有高度可配置性,允许开发者将各个逻辑和功能模块进行分离,增强了代码的可维护性和可扩展性...

    spring3.0MVC中文教程.doc

    Spring 3.0 MVC 框架是 Spring 的 Web 组件,提供了丰富的功能,为建设强大的 Web 应用程序。它可以毫不费力地与其他流行的 Web 框架集成,如 Struts、WebWork、Java Server Faces 和 Tapestry。Spring 3.0 MVC 框架...

    Spring3.0MVC 实用教程(高淇)

    在开发效率上,Spring MVC 和 Struts2 表现相当。Struts2 的低性能并不影响其在开发效率上的表现。对于高并发场景,优化配置和选择合适的视图技术是关键。 创建基于 Spring 2.5 的 Spring MVC 项目,通常需要以下...

    spring3.0MVC中文教程

    ### Spring3.0MVC框架概述 Spring3.0MVC是Spring框架的Web模块,专为构建高效、可扩展的Web应用程序而设计。它不仅提供了丰富的功能来满足Web开发的需求,还具备高度的可配置性和灵活性,能够无缝集成到现有的Web...

    Spring3.0MVC中文教程

    - **第2部分**:通过创建一个简单的“Hello World”应用程序来熟悉Spring 3.0 MVC的基本用法。 - **第3部分**:深入探讨表单处理,包括数据绑定、验证等高级特性。 - **第4部分**:介绍如何使用Tiles插件来构建复杂...

    Spring3.0 MVC 中文教程.docx

    通过这种方式,Spring3.0 MVC提供了一种灵活且强大的方式来构建现代Web应用程序,它不仅能够与各种视图技术(如JSP、FreeMarker)集成,还能与其他Web框架(如Struts、WebWork、JSF、Tapestry)协同工作,展现出其极...

    Spring3.0 MVC 中文教程.pdf

    Spring3.0 MVC框架是Spring框架的一个重要组成部分,专门用于构建强大的Web应用程序。该框架以其高度可配置性和灵活性而著称,允许开发者选择不同的技术栈进行集成,如Struts、WebWork、Java Server Faces和Tapestry...

    spring3.0 MVC 中文教程

    【Spring3.0 MVC 中文教程】 Spring MVC是Spring框架的核心组成部分,专为构建高性能、模块化的Web应用程序而设计。其主要目标是提供一个灵活的架构,允许开发者以高度自定义的方式组织应用的各个逻辑和功能。...

    CXF2.1.3+spring3.0+struts2.3.4

    Struts2则是一个用于构建MVC(模型-视图-控制器)架构的Java web应用框架。这个组合使得开发者能够高效地构建、管理和部署基于Web的服务。 【CXF】是Java世界中广泛使用的Web服务框架,支持SOAP和RESTful两种Web...

    spring security3,spring3.0,hibernate3.5,struts2

    Struts2与Spring Security的集成可以帮助实现Web层的请求过滤,确保只有经过验证和授权的用户才能访问特定的Action。 整合这四个框架,首先需要配置Spring Security来处理用户的登录和权限控制。这通常涉及创建安全...

    Spring3.0-MVC_简单自学教程(英文)

    2. 创建Spring 3.0 MVC的"Hello World"应用:通过一个简单的示例,帮助初学者理解如何搭建和运行Spring MVC项目。 3. Spring 3.0 MVC处理表单:讲解如何在Spring MVC中处理用户输入的表单数据。 4. Spring 3 MVC ...

    spring3.0 mvc demo

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

    Spring3.0_MVC_中文教程

    Spring3.0 MVC中文教程涵盖了Spring框架的Web层组件——Spring MVC的全面介绍。Spring MVC是一个用于构建Web应用程序的模型-视图-控制器(MVC)框架,它提供了构建Web应用程序的丰富功能和高度的可配置性。本教程...

Global site tag (gtag.js) - Google Analytics