Spring MVC、struts1和struts2区别

1.spring mvc 单例 非线程安全

  struts1单例 非线程安全

  struts2线程安全对每个请求都产生一个实例

2.spring mvc的入口是servlet,而struts2filter

  spring 的前端总控制器为 DispatcherServlet

  struts2 的前端总控制器为 FilterDispatcher

  struts1 的前端总控制器为 actionServlet

3. 参数传递:struts是在接受参数的时候,

可以用属性来接受参数,这就说明参数是让多个方法共享的。

springmvc 用方法来接受参数

4.spring mvc是基于方法的设计,sturts是基于类

Struts 2WebWork为核心,

采用拦截器的机制来处理用户的请求,struts1严重依赖于servletAPI,

属于侵入性框架,struts2不严重依赖于servletAPI,属于非侵入型框架。

线程模型方面:

Struts1Action是单实例的,

一个Action的实例处理所有的请求。

Struts2Action是一个请求对应一个实例(每次请求时都新new出一个对象),

没有线程安全方面的问题

封装请求参数:

Struts1中强制使用ActionForm对象封装请求的参数。

Struts2可以选择使用POJO类来封装请求的参数,或者直接使用Action的属性。

struts1的前端总控制器(核心总控制器)ActionServlet,

struts2的前端总控制器(核心总控制器)FilterDispather




猜你喜欢

转载自blog.csdn.net/panyuxin_/article/details/81018335