Spring MVC 与 Struts2的区别
共同点
- 都是表现层框架,都是基于MVC模型编写的
- 底层都离不开原始的ServletAPI
- 处理请求的机制都是一个核心控制器
区别
- Spring MVC 入口是
Servlet
,而Struts2 是Filter
- Spring MVC 是基于方法设计的,而 Struts2 是基于类,Struts2 每次执行都会创建一个动作类,所以 Spring MVC 会稍微比 Struts2 快些
- Spring MVC 使用更加简洁,同时还支持 JSP303,处理 Ajax 的请求更加方便 (JSR303是一套 JavaBean 参数校验的标准,它定义了很多常用的校验注解,我们可以直接将这些注解加在我们 JavaBean 的属性上面,就可以在需要校验的时候进行校验了。)
- Struts2 的
OGNL
表达式使页面的开发效率相比 Spring MVC更高些,但执行效率并没有比 JSTL 提升,尤其是 Struts2的表单标签,远没有 html 执行效率高