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的区别