我用JSP做的网上选课系统,如何在登陆成功之后再创建session对象?

来源:百度知道 编辑:UC知道 时间:2024/06/14 20:07:56
首页是login.jsp,是个登陆界面,要求输入用户名和密码;
点“提交”后通过查询数据库,在新窗口打开用户主界面main.jsp(假设用户名为me),经测试,各个功能运行都正常,一直使用的就是当前的session。

有一个问题就是,如果在刚才的login.jsp中输入了另一个用户的用户名和密码(假设用户名为you),登陆后在另一个新窗口中,则显示的是you的信息。然而此时对me的用户主界面进行操作,发现操作的是you,这样两个页面都是you的了!是不是两次登陆使用的同一个session?如何才能避免这种情况呢? 希望高人指导指导,本人不胜感激!

因为他们两个session的名称是一样的
再你每次登陆的时候 都会去定义这个session每个session都有他的名字
你在登陆you的时候 实际上已经替换了这个名字的session

解决方案:登陆之前判断这个session中的值不是空的
再进行创建session的操作 至于两个用户同时在一个系统中都是登陆状态
就要重新开一个浏览器程序

这种问题比较简单 因为session有一个生命周期 这个周期就是在关闭浏览器后才销毁 还有就是session有一个存活时间到了一定时间它就自动销毁 也可以设置session的存活时间也就是手动销毁
你没关掉之前的那个页面 又打开一个当然是这个session继续存在
但是你又开了一个session 数据会重新搜索数据库 将操作新的数据 同时也改变了另外那个你没关掉页面session的值
办法就是你可以判断是否是一个IP地址登录的 如果是的话就把 以前那个session销毁

一个网站的相同session 只能存在一个

呵呵,你肯定是用一个session存放登录信息,在你登陆其他账户事,这个session就被销毁了。。。
要解决的话,用框架实现吧,它会自动管理你的session