SpringMVC 对比 Struts2

SpringMVC 对比 Struts2

SpringMVC 介绍

Spring 为展现层提供的基于 MVC 设计理念的优秀的Web 框架,是目前最主流的 MVC 框架之一。

  • Spring3.0 后全面超越 Struts2,成为最优秀的 MVC 框架。
  • Spring MVC 通过一套 MVC 注解,让 POJO 成为处理请求的控制器,而无须实现任何接口。
  • 支持 REST 风格的 URL 请求。
  • 采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。

Struts2介绍

Struts2是一个基于MVC设计模式的Web应用框架。
它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开。

相同点:

二者都是基于mvc的web层的框架,都是负责接收用户浏览器提交的请求参数,通过某些校验操作调用业务层,而后获取到业务层返回的数据,将数据通过某种方式在前台展示。

不同点:

  1. Spring MVC 的入口是 Servlet, 而 Struts2 是 Filter。
  2. Spring MVC 会稍微比 Struts2 快些. Spring MVC 是基 于方法设计, 而 Sturts2 是基于类, 每次发一次请求都会实 例一个 Action。
  3. Spring MVC 使用更加简洁, 开发效率Spring MVC确实 比 struts2 高: 支持 JSR303, 处理 ajax的请求更方便。
  4. Struts2 的 OGNL 表达式使页面的开发效率相比 Spring MVC 更高些。
  5. Struts2是类级别的拦截,一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章