`

用户登陆 session.invalidate 销毁session

    博客分类:
  • J2EE
阅读更多
转载:用户登陆 session.invalidate 销毁session
http://heisetoufa.iteye.com/blog/227194
报错如下:
java.lang.IllegalStateException: Session invalidation is in progress with different thread
at weblogic.servlet.internal.session.SessionData.invalidate(SessionData.java:792)
at jsp_servlet._logon.__exit._jspService(exit.jsp:10)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:526)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7053)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)

解决方法:
不用:session..invalidate();
改为: session.removeAttribute("..."); 

分享到:
评论

相关推荐

    HttpSessionListener监听session的创建及销毁,实现在线用户统计

    用户登录时,调用LoginServlet,将用户名写入application的在线用户列表中,用户退出时,调用LogoutServlet,调用session.invalidate(),交给HttpSessionListener的sessionDestroyed()方法,将用户从在线列表中删除。...

    8.session机制.doc

    `mailLoginout.jsp`用于注销登录,通过调用`session.invalidate()`方法清除Session,使用户回到未登录状态。 在角色管理的场景下,可以将用户的角色信息也存储在Session中,然后在各个页面判断用户角色来决定显示...

    session存用户名密码实现用户登录和退出

    在Java中,可以使用HttpSession的`invalidate()`方法来销毁Session: ```java HttpServletRequest request = ...; HttpSession session = request.getSession(); session.removeAttribute("username"); // ...

    session.会话实例源码

    开发者可以调用`HttpSession`的`setAttribute`方法来设置值,`getAttribute`来获取值,`removeAttribute`来删除值,以及`invalidate`来销毁整个Session。 **4. Session源码分析** 在Java Servlet API中,`...

    java中使用session模拟用户登陆

    session.invalidate(); // 销毁Session,结束会话 ``` 6. **Session超时**:默认情况下,Session会在一段时间无活动后自动失效,防止用户长时间离开电脑而未登出造成的安全问题。可以通过配置web.xml文件调整...

    sessionsession

    销毁Session通常有两种方式:一是通过编程方式调用session.invalidate()方法,二是服务器设置的Session超时时间到达,服务器会自动清理过期的Session。 3. **Session的存储** Session数据存储在服务器的内存中,...

    JAVAWEB-10:会话技术之session&JSP

    - 销毁Session:`session.invalidate();` **2.2 JSP与Session的结合应用** - 常见的应用场景包括用户登录状态的保持、购物车功能、个性化推荐等,通过JSP结合Session实现用户数据的存储和传递。 - JSP还可以结合...

    session销毁方式

    session.invalidate(); } ``` **说明:** - `getSession(false)`:该方法尝试获取当前请求的Session对象,如果不存在则返回`null`。 - `invalidate()`:该方法立即销毁当前Session,并清除与之关联的所有属性。 *...

    退出页面自动清除session技巧

    session.invalidate(); ``` 该方法会清除与Session相关的所有数据,并使其失效。这是最常用的彻底清除Session的方式。 #### 实现退出时自动清除Session 为了实现用户退出页面时自动清除Session,可以通过监听...

    Session.docx

    而Session的销毁有两种情况:一是超过默认的30分钟无活动,二是通过调用`session.invalidate()`手动终止Session。在web.xml中可以配置Session的超时时间,以适应不同应用的需求。 总的来说,Session是Java Web中一...

    jsp中session使用方法

    session.invalidate(); ``` #### 四、示例代码分析 假设我们有一个简单的登录页面,用户输入用户名和密码后提交表单。根据用户输入的情况,我们可以通过以下步骤处理: 1. **HTML表单** - 创建一个HTML表单让...

    一个关于Session的小demo

    5. **销毁Session**:当用户登出或者不再需要Session时,应将其销毁以释放服务器资源: ```java session.invalidate(); ``` 在这个"SessionDemo"项目中,可能还包含了如何在多个JSP页面之间传递Session信息,...

    JAVA100例之实例82Session的运用

    开发者可以通过`session.invalidate()`手动结束Session。 2. **Session的常见操作:** - **设置属性:** `session.setAttribute("key", "value")` 将键值对存入Session。 - **获取属性:** `session.getAttribute...

    Struts2 的Action使用session的方法

    session.invalidate(); ``` 6. **注意问题**:使用session时要注意避免创建过多的session对象,这可能导致服务器内存溢出。同时,session中的数据是全局的,不同用户之间如果不加以控制,可能会引发安全问题。...

    监听session的创建到销毁

    也可以通过调用`HttpSession.invalidate()`方法手动销毁Session。 - **移除**:`HttpSessionAttributeListener`接口的`attributeRemoved()`方法会在Session属性被删除时触发。 4. **监控Session中的属性** 如果...

    JSP开发中在spring mvc项目中实现登录账号单浏览器登录.docx

    通过这种方式,每次用户登录时,`LoginListenner`都会检查当前登录的账号是否已经在其他session中存在,从而实现“单浏览器登录”的效果。当用户尝试在第二个浏览器中登录时,第一个浏览器的session会被销毁,用户...

    6 jsp内建对象之session

    <% session.invalidate(); %> // 结束当前用户的会话 ``` **四、session的优缺点** 优点: 1. 能够跨页面保持用户状态。 2. 数据安全性较高,因为session数据存储在服务器端。 缺点: 1. 占用服务器资源,大量...

    (转)讲解各种session

    ` 设置属性,`session.getAttribute("key")` 获取属性,`session.invalidate()` 删除Session。 2. **PHP**:通过`session_start()` 开启Session,`$_SESSION['key'] = 'value';` 存储数据,`echo $_SESSION['key'];`...

    day18 监听器 统计在线人数,定时销毁超时session,钝化活化session,在线列表显示和踢人功能防止用户自动登录,在线支付

    例如,我们可以设置一个后台任务,每隔一段时间检查所有session,如果发现某个session已经超时,就主动调用session.invalidate()来销毁它。 钝化(Passivation)和活化(Activation)是session管理的高级特性,主要...

Global site tag (gtag.js) - Google Analytics