【职坐标】SpringMVC和struts2的区别对比
来源:互联网 发布:盗图投诉淘宝复审 编辑:程序博客网 时间:2024/05/22 14:07
第一点:机制不同
springMVC的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。
- springMVC入口代码
<!-- 配置springmvc前端控制器 --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> <!-- 容器启动时就初始化 --> <load-on-startup>1</load-on-startup> </servlet> <!-- springMVC入口路径 --> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
- Struts2入口代码
<!-- struts2入口过滤器 --> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
第二点:性能不同
spring会稍微比struts快。
- spring mvc:是基于方法的设计,,粒度更细,但要小心把握像在servlet控制数据一样。
- sturts是基于类。Struts中每次发一次请求都会实例一个action,每个action都会被注入属性
第三点:参数传递
此点请通过实例去领会。不做过多讲解
第四点:设计思想
- struts更加符合oop的编程思想
- spring在servlet上扩展。
第四点:intercepter的实现机制
- struts有以自己的interceptor机制,spring mvc用的是独立的AOP方式 struts的配置文件量比springMVC大
- 虽然struts的配置能继承,但是论使用上来讲,springMVC使用更加简洁,开发效率SpringMVC确实比struts2高。
- springMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上spring3mvc就容易实现restful url
- struts2是类级别的拦截,一个类对应一个request上下文;实现restfulurl要费劲,因为struts2 action的一个方法可以对应一个url;而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了。
- spring3 mvc的方法之间基本上独立的,独享request response数据,请求数据通过参数获取,处理结果通过ModelMap交回给框架方法之间不共享变量,而struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的,这不会影响程序运行,却给我们编码,读程序时带来麻烦。
第五点: Spring3 mvc的验证
支持JSR303,处理ajax的请求更是方便,只需一个注解@ResponseBody
阅读全文
0 0
- 【职坐标】SpringMVC和struts2的区别对比
- Struts2和SpringMVC的对比
- SpringMVC和Struts2对比
- SpringMVC 和Struts2的区别
- struts2和springmvc的区别
- Struts2和springMVC的区别
- springmvc和struts2的区别
- springMVC和Struts2的区别
- SpringMVC和Struts2的区别
- springmvc 和struts2的区别
- springmvc 和struts2的区别
- springmvc 和struts2的区别
- springmvc 和 struts2的区别
- SpringMvc和Struts2的区别
- struts2和springMVC的区别
- springmvc和struts2的区别:
- springmvc和struts2的区别
- springmvc和struts2的区别
- 顺序表的实现
- Typescript代码实例解析
- 算法规律 rotate String
- 曾国藩的三十六字诀
- Mysql InnoDB B+Tree索引
- 【职坐标】SpringMVC和struts2的区别对比
- 冒泡排序法为什么最佳的时间复杂度是O(n)
- python自然语言处理学习笔记4——条件
- Android Api demo系列(26) (Graphics>Sweep)
- 解决自定义Toast(吐司)设置宽高无效的问题
- springcloud记录篇1-eurekaserver
- 数据库---常见约束的SQL语句的研究与使用
- 读书笔记——并行处理器架构
- struct和typedef struct