spring MVC和struts2的区别

(1)考察目标

主要是对spring MVC和struts2的区别的考核。

(2)题目分析

共同点:

它们都是表现层框架,都是基于MVC模型编写的。

它们的底层都离不开原始ServletAPI。

它们处理请求的机制都是一个核心控制器。

区别:

Spring MVC 的入口是 Servlet, 而 Struts2 是 Filter

Spring MVC 是基于方法设计的,而Struts2是基于类,Struts2每次执行都会创建一个动作类。所以Spring MVC 会稍微比 Struts2 快些。

Spring MVC 使用更加简洁,同时还支持 JSR303, 处理 ajax 的请求更方便。(JSR303 是一套JavaBean参数校验的标准,它定义了很多常用的校验注解,我们可以直接将这些注解加在我们JavaBean的属性上面,就可以在需要校验的时候进行校验了。)

Struts2 的OGNL 表达式使页面的开发效率相比Spring MVC 更高些,但执行效率并没有比JSTL提升,尤其是struts2的表单标签,远没有html执行效率高。

(3)应用场景

由于struts2框架的控制器Action是多例的,所以在目前互联网大环境下,显然没有springmvc基于单例的Controller执行效率更高。所以目前新项目更多的是采用springmvc框架。

(4)总结

本题主要考察的是:

SpringMVC和Struts2的区别

点击此处
隐藏目录