struts1
1.线程安全:
Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。
2.intercepter的实现机制
3.机制:
入口是servlet
4.参数传递
struts2
1.线程模式:
Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)
2.intercepter的实现机制
类级别的拦截,一个类对应一个request上下文,而其类属性却被所有方法共享
3.机制:
入口是filter
4.参数传递
可以用属性来接受参数,这就说明参数是让多个方法共享的
springMVC
1.线程安全:
controller默认是单例
2.intercepter的实现机制
方法级别的拦截,一个方法对应一个request上下文,独享request、response数据
3.机制:
入口是servlet
4.参数传递
请求数据通过参数获取,处理结果通过ModelMap交回给框架方法之间不共享变量
参考文章: