Struts2和springmvc的本质区别:
程序员文章站
2022-03-13 22:01:57
...
1.springmvc入口是一个servlet前端控制器(DispatcherServlet),struts2入口是一filter过滤器(StrutsPrepareAndExecuteFilter).
2.struts2通过在action类中定义成员变量接收参数,(属性驱动和模型驱动),它只能使用多例模式管理action.springmvc通过在coontroller方法中定义形参接收参数,springmvc可以使用单例模式管理controller.
3.springmvc是基于方法开发的,注解开发中使用requestMapping将url和方法进行 映射,如果根据url找到controller类的方法生成一个handler处理器对象(只包括一个method).struts2是基于类开发的,每个请求过来创建一个action实例,实例对象中有若干个方法.开发中建议使用springmvc,springmvc方法更类似service业务方法.
4.struts2采用值栈存储请求和相应的数据,通过OGNL存取数据,springmvc通过参数绑定期将request请求内容解析,并给方法形参赋值.
5.struts2和springmvc的速度是相当的,由于struts2的漏洞较多,跟多企业使用springmvc
推荐阅读
-
Java web Filter, Strurs2 Interceptor 和 SpringMVC Interceptor 三者之间的联系与区别
-
详谈Servlet和Filter的区别以及两者在Struts2和Springmvc中的应用
-
Springmvc中的转发重定向和拦截器的示例
-
简单谈谈SpringMVC转发和重定向的区别
-
springmvc和js前端的数据传递和接收方式(两种)
-
Springmvc中的转发重定向和拦截器的示例
-
简单谈谈SpringMVC转发和重定向的区别
-
SpringMVC和Spring的配置文件扫描包详解
-
struts2配置文件详解(struts2和springMVC的区别)
-
详解struts2的token机制和cookie来防止表单重复提交