社区
Java EE
帖子详情
Struts 单例的一点疑惑
ITWIT
2012-08-27 12:26:06
Struts1.X是单例的,那么模拟一个业务场景是:向数据库记录一个登陆用户的信息,需要用到From缓存,多个浏览器同时访问Action的保存用户信息的方法,因为是单例的,所以共用一个Form,会不会造成数据覆盖?如果会覆盖,即使单例有一定的好处,但安全上存在这么大的问题,为什么还要使用这种实现方式或者有其什么对应措施?
...全文
111
3
打赏
收藏
Struts 单例的一点疑惑
Struts1.X是单例的,那么模拟一个业务场景是:向数据库记录一个登陆用户的信息,需要用到From缓存,多个浏览器同时访问Action的保存用户信息的方法,因为是单例的,所以共用一个Form,会不会造成数据覆盖?如果会覆盖,即使单例有一定的好处,但安全上存在这么大的问题,为什么还要使用这种实现方式或者有其什么对应措施?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
名字不好取_蛋疼
2012-08-27
打赏
举报
回复
1 这个会话 应该是request 。
2 方法是Thread 独享的,也就意味着线程调用方法时的局部变量(不是全局变量)也是唯一的。
ITWIT
2012-08-27
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
Struts1.X是单例的,但是表单的值是通过参数从ActionForm传入的,如下面的form,每个请求的产生的form是不同的,怎么可能相互覆盖呢?execute(ActionMapping mapping, ActionForm form,
ServletRequest request, ServletResponse response) 主要是注意在Struts1的ACTION中不要……
[/Quote]
谢谢您的回答,而且答案也表示十分同意,不过有两点我比较模糊,就是:
1、Http向ActionServlet发送一个请求,ActionServlet会根据Action标签中是否配置了form属性,如果有则在当前会话中查看是否已经有该From的实例,如果没有则new一个返回,如果有则直接拿来用。如果该Action的会话范围设置为Session,那这个Form不是同一个吗,这样是不是就有覆盖现象了?
2、在excute方法中定义一个int的局部变量,并在代码中多次用到,并发访问下,这个int的变量不会相互覆盖吗?
阿甘1976
2012-08-27
打赏
举报
回复
Struts1.X是单例的,但是表单的值是通过参数从ActionForm传入的,如下面的form,每个请求的产生的form是不同的,怎么可能相互覆盖呢?execute(ActionMapping mapping, ActionForm form,
ServletRequest request, ServletResponse response) 主要是注意在Struts1的ACTION中不要使用成员变量,如果这样此成员变量会被多个线程共享,有线程安全问题。STRUTS2的ACTION已经不再是单例的,所以表单的值是通过ACTION的成员变量来传递的,这是STRUTS1和STRUTS2的主要区别之一。
spring
单例
、线程安全、事务等
疑惑
收集
spring中管理的bean实例默认情况下是
单例
的[sigleton类型],就还有prototype类型按其作用域来讲有sigleton,prototype,request,session,...spring中的
单例
与设计模式里面的
单例
略有不同,设计模式的
单例
是在整个...
spring
单例
、线程安全、事务等
疑惑
总结
spring中管理的bean实例默认情况下是
单例
的...spring中的
单例
与设计模式里面的
单例
略有不同,设计模式的
单例
是在整个应用中只有一个实例,而spring中的
单例
是在一个IoC容器中就只有一个实例。 但spring中的
单例
也
Struts
2小结
Struts
2小结: [b][color=red]第
一点
: [/color] [/b] 虽然
Struts
2号称是一个全新的框架,但这仅仅是相对
Struts
1而言。
Struts
2 与
Struts
1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另...
spring和
struts
2集成的一些认识
注:通常我们的action都要继承ActionSupport,这里都默认继承了该类 参考资料: ...http://
struts
.apache.org/release/2.2.x/docs/spring-and-
struts
-2.html ...
[置顶] spring和
struts
2集成的一些认识
注:通常我们的action都要继承ActionSupport,这里都默认继承了该类 参考资料: ... ...http://
struts
.apache.org/release/2.2.x/docs/spring-and-
struts
-2.html 要想将s
Java EE
67,513
社区成员
225,880
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章