ssh项目上线运行后多用户同时用,出现并发问题,也就看到了别人的资料

当多个用户同时登录网页,操作数据时,保存后却看到别人的数据。后分析是设计模式问题。


spring 默认scope 是单例模式
这样只会创建一个Action对象
每次访问都是同一个Action对象,数据不安全
struts2 是要求 每次次访问 都对应不同的Action
 scope="prototype" 可以保证 当有请求的时候 都创建一个Action对象

给每个spring管理文件都加上scope="prototype" ,这样每次请求都新创建一个action.那么问题来了,每次跳转都要携带需要的参数,我是在jsp页面将需要的参数用input标签隐藏,传值。如果在struts文件中重定向可以用以下方式携带参数。

<result name="sjsuccess" type="redirectAction">tporder_goodslist?as.storecode=${as.storecode }&amp;tgm.flid=${tgm.flid}&amp;em.username=${em.username}&amp;as.qyzrcode=${as.qyzrcode}&amp;lianhe.goodscode=${lianhe.goodscode}</result>


如果页面有报错,一定是参数问题,请检查。

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页