servlet
springMVC http://m.blog.csdn.net/article/details?id=52180476
struts1/struts2
spring mvc与struts2 https://rc.mbd.baidu.com/rmc8xux
(2)springmvc的controller是singleton的(非线程安全的),这也许就是他和struts2的区别吧。
springmvc线程安全有几种解决方法:
1、在Controller中使用ThreadLocal变量
2、在spring配置文件Controller中声明 scope="prototype",每次都创建新的controller
所以在使用spring开发web 时要注意,默认Controller、Dao、Service都是单例的。
(3)struts2的action是线程安全的,struts1的action不是线程安全的