1.struts2安全解决
struts2是线程安全的,action与action之间互不干扰,但是用spring管理struts时,默认是不是线程安全的,因为bean是单例模式,共用一个bean所以会有线程安全问题,解决办法如下:
<bean id="personAction" scope="prototype" class="quickstart.action.PersonAction">
<constructor-arg ref="personService" />
</bean>
配置这个选项后,每次用到bean都会new一个新的对象,但是这样配置会有一定的性能问题,所以需分情况处理。
2.struts1安全解决
不要使用全局变量,使用局部变量;
注意可能出现问题的方法的使用,代码控制使方法执行一次与执行N次的结果相同;
如果与spring整合,可设置bean的sington=‘false’,但是影响性能;
尝试借助ThreadLocal解决一些安全问题