struts是线程安全,并不是指多线程,而是指单态,当多个用户访问一个请求的时候,服务器内存中只有一个与之对应的action类对象,execute方法加上了同步关键字,如果你在action里加上一个全局变量,那么,多个客户访问的时候,这个变量是共有的,即一个客户修改了他,下一个客户获得的变量是修改后的,你可以写个demo来测试,至于多线程只是服务器在相应客户端请求时对于session的处理,并不是指struts action Spring的MVC model类似于Struts。在多线程服务对象这点上,Spring的Controller类似于Struts Action,只有一个实例处理所有客户请求。 以上两点在今天才知道,惭愧啊。 如果在一个struts的Action或spring的Controller中使用了一个全局变量(类成员变量的话),当不同用户访问同一个action时,就会发生错误! 因为如上所述,服务器内存只有一个action类对象。恐怖啊! 唉,之前以为多线程的话就会在服务器为每个线程创建一个action对象呢~!!!! 狂晕
相关文章
- 关于在Struts2的Action中使用domain模型接收参数的问题
- spring的controller是单例模式,但是是多线程,各个线程之间不影响
- 关于用struts2框架中iframe对应的jsp页面的不到action的值的问题
- 关于IDEA的Spring boot项目创建慢,Maven插件加载慢,依赖导入慢或者失败的原因及解决方案
- C++ 关于MFC多线程编程中的一些注意事项 及自定义消息的处理
- 关于Struts2中 Action 配置method的解读
- Spring整合Struts2框架的第二种方式(Action由Spring框架来创建)(推荐大家来使用的)
- Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。
- 关于Spring与SpringMVC父子容器及扫描包的问题
- 关于maven Web(Spring MVC)项目中,部分项目启动后无法访问路径的解决方案及解释。