问题描述
写了个网页版查询系统,但出现冲突的问题。比如,再A电脑上登录a,B电脑同时登录用户b;a,b两用户的查询结果是一样的,都是a的,或者都是b的,取决操作顺序。我找到了问题出现的原因,为了保存一些动态参数,我写了个PageHelper类,用属性(即封装字段)的方法保存这些当前登录用户临时的动态参数。所以当两个用户同时登录的时候,共享了这些动态参数。不知道要怎么做,才能给每个用户单独分配这些参数,互补干扰。
解决方案
解决方案二:
再具体点说,用户登录成功后,选择开始日期和结束日期,查到结果,然后点“打印”,跳转到打印页面,页面里是刚才查询的结果。问题就出现在这了。当a用户在A电脑查询1号到2号的数据,PageHelper类两个属性参数保存了1号和2号这个两个日期。当b用户在B电脑上查询3号到4号的数据时,PageHelper类里两个属性被改成了3号和4号两个日期,这样a用户再点“打印”,跳转的页面显示的是3号到4号的数据,而不是开始查询的1号到2号数据。
解决方案三:
PageHelper不要做成静态类,每个用户实例化一个就行了
解决方案四:
你可以用session或者cache保存用户的临时参数
时间: 2024-10-31 23:21:42