SpringMVC与Struts2的主要区别

SpringMVC与Struts2的主要区别。
①springmvc的入口是一个servlet即前端控制器,(DispatcherServlet)
而struts2入口是一个filter过虑器。


其中第2点必须背诵:

②springmvc是基于方法开发,传递参数是通过方法形参,并且使用ThreadLocal技术,实现传递的参数在各线程中是隔离的,所以是线程安全的。所以设计是可以设计为单例,那么@Scope("prototype")就不用写,因为它不写的话,默认就是单例,以大幅度提高运行效率,这一点就碾压struts。

struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
必须使用@Scope("prototype"),否则线程不安全,会出问题。
------------------------

③Struts2采用【值栈】读写数据,Springmvc把响应数据和页面封装成ModelAndView对象,最后又将模型数据通过request对象传输到页面。 Jsp视图解析器默认使用jstl