如题
Action是线程安全的。每次请求都新建一个。
每次请求都会创建action
我没有用过Struts2,一直在用Struts。不知道是不是一样的。
对Struts,我可以很负责任的说,同一个Action只会实例化一次,所有请求共享一个Action,但是它不是线程安全的。这个有点难理解,不过事实就是如此。可以看官方文档。
数据安全的话,类变量和实例变量最好不要共享和特定请求相关的信息,但是可以用来共享一般的信息,共享时要注意同步。
另外,Spring管理Action的话,一般也是用默认的,也就是single。
希望对你有帮助
struts2需要全局变量,是有状态的,不安全。spring的controller就比较好
struts2是线程安全的,每次访问都是不同的action struts1是线程不安全的
既然每次都创建一个action那么每次请求都是新的action喽
要是没有spring怎么办~??? - -!
看你在spring 的 <bean >中有没有注明 scope="prototype" 否则默认是 scope="singleton"
prototype action 不是同一个singleton action 是同一个
我比较关心的就是数据会不会丢失
action是同一个但是数据可能一样,也可能参数丢失就不一样了
只要你传得参数一样,返回的值就还是一样,也就是说你又重新进行了一遍相同的action操作
我想问的是这个action还是不是同一个action
回复如果设置成单例的话,是同一个!
如果不指定方法,那默认访问的就是action的execute()
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(15)
Action是线程安全的。每次请求都新建一个。
每次请求都会创建action
我没有用过Struts2,一直在用Struts。不知道是不是一样的。
对Struts,我可以很负责任的说,同一个Action只会实例化一次,所有请求共享一个Action,但是它不是线程安全的。这个有点难理解,不过事实就是如此。可以看官方文档。
数据安全的话,类变量和实例变量最好不要共享和特定请求相关的信息,但是可以用来共享一般的信息,共享时要注意同步。
另外,Spring管理Action的话,一般也是用默认的,也就是single。
希望对你有帮助
struts2需要全局变量,是有状态的,不安全。spring的controller就比较好
struts2是线程安全的,每次访问都是不同的action struts1是线程不安全的
Action是线程安全的。每次请求都新建一个。
既然每次都创建一个action那么每次请求都是新的action喽
Action是线程安全的。每次请求都新建一个。
要是没有spring怎么办~??? - -!
看你在spring 的 <bean >中有没有注明 scope="prototype" 否则默认是 scope="singleton"
prototype action 不是同一个
singleton action 是同一个
我比较关心的就是数据会不会丢失
action是同一个但是数据可能一样,也可能参数丢失就不一样了
只要你传得参数一样,返回的值就还是一样,也就是说你又重新进行了一遍相同的action操作
我想问的是这个action还是不是同一个action
回复
如果设置成单例的话,是同一个!
如果不指定方法,那默认访问的就是action的execute()