SpringMVC 与 Struts2 的区别
实现机制
- Struts2是基于过滤器实现的。
- SpringMVC是基于servlet实现。
- Servlet比过滤器快。
运行速度
-
Struts2是多例:每一次请求,都会创建一个Action对象,struts2创建的每个对象都包含了:ActionContext,valuestack,Action,ActionSuport,ModelDriven(如果请求过多,需要多个不同对象,弊端显现)。
-
SpringMVC是单例:同一个Controller请求,只会创建一个Controller(只要是同一个Controller请求,再多,也只需要使用同一个对象去解决)。
参数封装
- Struts2是基于属性进行封装,Action中有参数属性。
- SpringMVC是基于方法封装,参数是写在Controller的方法中。