当初还框架的时候目的比较单纯---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" ;
}
相关推荐
3. **与其他框架的集成**:Spring MVC可以轻松地与其他流行的Web框架(如Struts、WebWork、Java Server Faces和Tapestry)集成。 4. **视图技术的多样性**:除了传统的JSP,Spring MVC还支持Freemarker、Excel、PDF...
- **高度可配置性**: Spring MVC的设计非常灵活,可以轻松地与其他流行Web框架(如Struts、WebWork、JSF和Tapestry)集成,使得开发者可以根据项目的具体需求选择最适合的技术栈。 - **与其他框架的无缝集成**: ...
【Spring3.0 MVC框架简介】 Spring3.0 MVC是Spring框架的重要组成部分,专注于构建高性能、健壮的Web应用程序。这个框架具有高度可配置性,允许开发者将各个逻辑和功能模块进行分离,增强了代码的可维护性和可扩展性...
Spring 3.0 MVC 框架是 Spring 的 Web 组件,提供了丰富的功能,为建设强大的 Web 应用程序。它可以毫不费力地与其他流行的 Web 框架集成,如 Struts、WebWork、Java Server Faces 和 Tapestry。Spring 3.0 MVC 框架...
在开发效率上,Spring MVC 和 Struts2 表现相当。Struts2 的低性能并不影响其在开发效率上的表现。对于高并发场景,优化配置和选择合适的视图技术是关键。 创建基于 Spring 2.5 的 Spring MVC 项目,通常需要以下...
### Spring3.0MVC框架概述 Spring3.0MVC是Spring框架的Web模块,专为构建高效、可扩展的Web应用程序而设计。它不仅提供了丰富的功能来满足Web开发的需求,还具备高度的可配置性和灵活性,能够无缝集成到现有的Web...
- **第2部分**:通过创建一个简单的“Hello World”应用程序来熟悉Spring 3.0 MVC的基本用法。 - **第3部分**:深入探讨表单处理,包括数据绑定、验证等高级特性。 - **第4部分**:介绍如何使用Tiles插件来构建复杂...
通过这种方式,Spring3.0 MVC提供了一种灵活且强大的方式来构建现代Web应用程序,它不仅能够与各种视图技术(如JSP、FreeMarker)集成,还能与其他Web框架(如Struts、WebWork、JSF、Tapestry)协同工作,展现出其极...
Spring3.0 MVC框架是Spring框架的一个重要组成部分,专门用于构建强大的Web应用程序。该框架以其高度可配置性和灵活性而著称,允许开发者选择不同的技术栈进行集成,如Struts、WebWork、Java Server Faces和Tapestry...
【Spring3.0 MVC 中文教程】 Spring MVC是Spring框架的核心组成部分,专为构建高性能、模块化的Web应用程序而设计。其主要目标是提供一个灵活的架构,允许开发者以高度自定义的方式组织应用的各个逻辑和功能。...
Struts2则是一个用于构建MVC(模型-视图-控制器)架构的Java web应用框架。这个组合使得开发者能够高效地构建、管理和部署基于Web的服务。 【CXF】是Java世界中广泛使用的Web服务框架,支持SOAP和RESTful两种Web...
Struts2与Spring Security的集成可以帮助实现Web层的请求过滤,确保只有经过验证和授权的用户才能访问特定的Action。 整合这四个框架,首先需要配置Spring Security来处理用户的登录和权限控制。这通常涉及创建安全...
2. 创建Spring 3.0 MVC的"Hello World"应用:通过一个简单的示例,帮助初学者理解如何搭建和运行Spring MVC项目。 3. Spring 3.0 MVC处理表单:讲解如何在Spring MVC中处理用户输入的表单数据。 4. Spring 3 MVC ...
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。
Spring3.0 MVC中文教程涵盖了Spring框架的Web层组件——Spring MVC的全面介绍。Spring MVC是一个用于构建Web应用程序的模型-视图-控制器(MVC)框架,它提供了构建Web应用程序的丰富功能和高度的可配置性。本教程...