Servlet 成员字段可能允许一个用户查看其他用户的数据, servlet中的成员字段是 spring 注入进来的, 是否 可以通过 设置scorp=prototype,解决这个安全问题
------解决方案--------------------
servlet在整个生命周期中只会被初始化一次,所以一般不会在servlet中使用成员变量的,没人敢用,spring注入的也不行吧,这好像是servlet的生命周期决定的,struts之所以可以那样是因为在struts的生命周期中,每次请求都会实例化一个新Action。
------解决方案--------------------
servlet不要有成员变量了,这违背了servlet是无状态的设计原则,会导致线程安全问题
------解决方案--------------------
spring 默认scope 是单例模式
这样只会创建一个Action对象
每次访问都是同一个Action对象,数据不安全
struts2 是要求 每次次访问 都对应不同的Action
scope="prototype" 可以保证 当有请求的时候 都创建一个Action对象
从百度知道里找到的,不知道能不能解决你的问题。
------解决方案--------------------
我觉得用处不大,你可以在高并发的情况下测试下!