紧急求助--可能是session问题!!!!!!

lvcker 2005-07-13 04:50:16
描述:
我们给一个移动公司做了一个网上选号的项目,大致就是根据各种条件查询号码,号码分了不同的地区(号码中有一个字段areaId),不同地区的营业厅只能看到本地区的号码,登陆之后在session中保存了areaId,查询的时候取出来,现在的问题是,偶尔会出现混乱现象,是部分营业厅出现这种问题。如areaId为1营业登陆后察看的是areaId为2的号码(其实用任意营业厅id登陆都是看到areaId为2的号码),据我根据现象分析,原因是:出现问题的都是处在同一局域网的(移动公司的网怎么连的不太清楚,不知道是不是普通局域网),一旦有areaId为2的登陆,部分地方不管怎么登陆session中的areaid都是2,如果没有areaId为2的登陆,系统正常。我就怀疑是不是session在网内游荡,呵呵,还是session设置有问题,请各位帮帮忙,谢谢!!
...全文
191 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvcker 2005-07-14
  • 打赏
  • 举报
回复
to :laughsmile(海边的星空)
你说的定义全局变量如何定义,setAttribute的时候是在一个checklogin.jsp实现的,之后有很多查询页面,用的时候取出来getAttribute
zyxzyx10 2005-07-13
  • 打赏
  • 举报
回复
使用之前先把SESSION销毁一次
laughsmile 2005-07-13
  • 打赏
  • 举报
回复
1.确认从数据库读出来的数据是正确的
2.如果确认上面没有问题
登录的时候把areaId写到一个全局静态变量中.
你写一个class实现HttpSessionAttributeListener,在监视每次的attributeAdded与attributeReplaced,比较session中的值是否发生变化.
3.每个页面打印出session值
for(Enumeration attrs = session.getAttributeNames(); attrs.hasMoreElements(); out.println("<li><b>" + attr + "</b> = " + session.getAttribute(attr)))
attr = (String)attrs.nextElement();
比特灵 2005-07-13
  • 打赏
  • 举报
回复
可能你SQL就水错的,取出来都是2.
lvcker 2005-07-13
  • 打赏
  • 举报
回复
帮忙啊!!
lvcker 2005-07-13
  • 打赏
  • 举报
回复
很多时候是正常的啊,登录的检查没写到bean里,下面贴出部分代码:
if(rs.next())//上面查询数据库,用户密码正确
{
String yytId=rs.getString("YytId");
String areaId=rs.getString("areaId");
String yytName=rs.getString("Yytname");
session = request.getSession(true);
String chk="true";
session.setAttribute("Enter",chk);
session.setAttribute("yytId",yytId);
session.setAttribute("yytName",yytName);
session.setAttribute("areaId",areaId);//--------就是这个
session.setAttribute("operator",operator);
response.sendRedirect("vmain.jsp");
}
else{
//转向登陆页面,显示出错信息
}
以后在各个页面查询的时候取出areaId:
String area = (String)session.getAttribute("areaId");
int areaId=0;
if(area!=null &&(!area.equals(""))) areaId=Integer.parseInt(area);
String sqlCount="select count(*) from number where(State='1' or State='3') and pinPaiBigId='"+pinpaiId+"' and locktime<=getdate() and areaId= "+areaId+"";
lvcker 2005-07-13
  • 打赏
  • 举报
回复
很多时候是正常的啊。
ike_Adriano 2005-07-13
  • 打赏
  • 举报
回复
你用JAVABEAN写的吗?是不是你的类有错误呢。
ike_Adriano 2005-07-13
  • 打赏
  • 举报
回复
你用JAVABEAN写的吗?是不是你的类有错误呢。
weijian 2005-07-13
  • 打赏
  • 举报
回复
是不是把areaid方到静态变量里了?
jingice 2005-07-13
  • 打赏
  • 举报
回复
我觉得应该不是的吧?session里面的内容是临时存放在客户端的。
我想你的错误原因可能是向session里面存放内容有误所致
可否给出你存放语句?或许能帮你看看

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧