session的有效范围

rengang11 2007-05-23 02:49:06
以邮箱登陆为例,当我已经登陆后,别人不能再用相同的用户名登陆。

这种情况其实很常见,如果用session能实现吗。

我所知道session的最大范围是application一级,
这个application是说的启动weblogic时application就启动了吗。

现在的现象是:
不关闭窗口,sessionID在任何叶面一样,
重新开个窗口,sessionID就变了。

向各位讨教解决办法。谢谢了。
...全文
738 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
rengang11 2007-05-23
  • 打赏
  • 举报
回复
真是太感谢了
yunxiang 2007-05-23
  • 打赏
  • 举报
回复
javax.servlet.ServletContext
rengang11 2007-05-23
  • 打赏
  • 举报
回复
yunxiang(无名)
 ServletContext application=request.getSession().getServletContext();
---------------------------
request对象的import内容是什么呀,实在不好意思
yunxiang 2007-05-23
  • 打赏
  • 举报
回复
jsp中
    application.setAttribute("a",new Object());

----------------------------
servlet中
    ServletContext application=request.getSession().getServletContext();
    application.setAttribute("a",new Object());


------------------------------------
rengang11 2007-05-23
  • 打赏
  • 举报
回复
yunxiang(无名)
当一个用户登陆.你把ip地址和用户id存入application(如果该用户id已经存在application中,再判断ip是否一致,如果一致.通过.如果不同,登陆失败)

很苯的问题:
怎样把这些放到application里面,能给出代码吗,谢谢了:)
yunxiang 2007-05-23
  • 打赏
  • 举报
回复
但是如果你此时登陆了.然后第二天你想用别的机器登陆.
可是这时候服务还没有重启过.那你就无法登陆了.
所以你还需要定时清理application中的数据.
yunxiang 2007-05-23
  • 打赏
  • 举报
回复
也可以, 我觉得可以把ip地址作为判断用户惟一的标示.

当一个用户登陆.你把ip地址和用户id存入application(如果该用户id已经存在application中,再判断ip是否一致,如果一致.通过.如果不同,登陆失败)
ownraul 2007-05-23
  • 打赏
  • 举报
回复
不行的
从别的机器上无法读出你已登录的那个机器的session,除非用用户名在表中做关联
读不到session也就无法做是否登录的判断了

把已登录的用户放一份在application中是个解决办法
rengang11 2007-05-23
  • 打赏
  • 举报
回复
yunxiang(无名)
谢谢你的连接,他是用表来控制,我想用Session,不知道能不能实现
yunxiang 2007-05-23
  • 打赏
  • 举报
回复
session的id是系统自动生成的.每次都不一样.如果你关掉页面在此访问时.这次的id和上次一定不同
rengang11 2007-05-23
  • 打赏
  • 举报
回复
现在的问题就是不让他在另外一台机器上登录:(
yunxiang 2007-05-23
  • 打赏
  • 举报
回复
http://blog.csdn.net/szhf1980/archive/2005/10/18/508345.aspx

解决防止多用户使用同以账户.

还有session的范围就是session application的范围就是application
session 不能设置为application  
我记得是不可以的....如果说错了.大家别见笑
infon 2007-05-23
  • 打赏
  • 举报
回复
application是共用的,session是每个用户都有的,按照一般的方法就可以了,在同一个浏览器中就不能同时登陆了,如果你同时开着IE和firefox,那都可以登陆的
rengang11 2007-05-23
  • 打赏
  • 举报
回复
application 是全局的,登录后把session放在这里面,
再次登录的时候从application里面取出第1次登录的那个session,进行判断。

问题:
怎样把session放在application里面,大虾们能给出代码吗

81,092

社区成员

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

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