session对象当客户端首次访问时,创建一个新的session对象。并同时生成一个sessionId,并在此次响应中将sessionId 以响应报文的方式些回客户端浏览器内存或以重写url方式送回客户端,来保持整个会话,只要sever端的这个session对象没有销毁,以后再调用 request.getSession()时就直接根据客户端的sessionId来检索 server端生成的session对象并返回,不会再次去新建,除非根据此sessionId没有检索到session对象。
下面是在IE下测试,因为IE6.0的一个BUG就是IE的隐私设置即使是阻止所有cookie时,也还是会以会话cookie来保存sessionId.所以下面都是以会话cookie来讨论的,
(1)在server没有关闭,并在session对象销毁时间内,当客户端再次来请求server端的servlet或jsp时,将会将在第 一次请求时生成的sessionId并附带在请求信息头中并向server端发送, server端收到sessionId后根据此sessionId会去搜索(此过程是透明的)server对应的session对象并直接返回这个 session对象,此时不会重新去建立一个新的session对象。
(2)当server关闭(之前产生的session对象也就消亡了),或 session对象过了其销毁时间后,浏览器窗口不关,并在本浏览器窗口再次去请求sever端的servlet和jsp时,此时同样会将 sessionId(server关闭或session销毁时生成的sessionId)发送到server端,server根据sessionId去找 其对应的session对象,但此时session对象已经不存在,此时会重新生成一个新的session对象,并生成新的sessionId并同样将这 个新生成的sessionId以响应报文的形式送到浏览器内存中。
(3)当server没有关闭,并session对象在其销毁时间内,当请求一个 jsp页面回客户端后,关闭此浏览器窗口,此时其内存中的sessionId也就随之销毁,在重新去请求sever端的servlet或jsp时,会重新 生成一个sessionId给客户端浏览器,并存在浏览内存中。
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/java/javajs/2008715/133150.html
分享到:
相关推荐
当Session失效时,通常会导致用户被重定向到登录页面,以便重新验证其身份。下面将详细讨论EXT Session失效以及如何实现页面跳转至登录页。 首先,EXT是一个JavaScript库,用于构建交互式的、数据驱动的Web应用。它...
最近由于一个项目,模块切换为ajax请求数据,当Session失效后,ajax请求后没有返回值,只有响应的html:<html>[removed]window.open(‘http://192.168.0.118:8080/welcomeAction/loginUI.do’,’_top’);...
当Session失效,用户通常会被重定向到登录页面,登录成功后,系统应能恢复之前的浏览状态,如返回原来的页面并保留用户可能已填写的表单数据。这涉及到一系列的技术处理和设计原则,包括Session管理、登录逻辑、页面...
### Session失效详解 在Web应用开发中,会话管理(Session Management)是一项基本且重要的功能。它用于跟踪用户的会话状态,确保用户在与服务器交互过程中保持登录等状态信息的一致性。Session作为会话管理的一种...
一同事求援:后台系统的登录成功了,但不能成功登进系统,仍然跳转到登录页,但同一套代码另一个环境却没有问题。 背景 经了解,他对同一个项目使用tomcat部署了两个环境,一个在开发服务器上,一个在他本机,两个...
ASP.NET 跨域与 Session 失效问题的解决办法 在 ASP.NET 开发中,跨域和 Session 失效问题是一个常见的问题,特别是在使用 iframe 嵌入远程应用时。今天,我们来讨论这个问题的解决办法。 什么是跨域和 Session ...
本文介绍了设置Session失效的几种方法,包括在主页面或公共页面中设置Session失效时间、在项目的web.xml中设置Session失效时间、直接在应用服务器中设置Session失效时间等。此外,还介绍了如何在Session失效后执行一...
【关闭浏览器和登出控制使session失效】是Web应用中常见的用户会话管理策略。Session是服务器端用来跟踪用户状态的一种方式,当用户登录后,服务器会创建一个session,并将用户信息存储在其中。当用户关闭浏览器或...
然而,有时我们可能会遇到Session失效的问题,这可能导致用户体验下降或安全问题。本文将深入探讨这个问题,提供解决方案,并给出具体的实现步骤。 首先,我们需要理解Session失效可能发生在不同类型的请求中,包括...
在探讨如何解决iframe跨域与session失效的问题之前,我们需要了解几个重要的概念:什么是跨域,什么是session以及cookie。 首先,跨域问题通常出现在Web应用中,尤其是在使用iframe嵌入第三方网站内容时。在Web技术...
在这个文档中,我们关注的是Struts2的拦截器(Interceptor)的使用,特别是如何在用户Session失效后将其重定向到一个统一的页面。拦截器是Struts2框架的核心组件之一,它在Action执行前后执行特定的逻辑,提供了扩展...
- **控制并发用户数**:当Session失效时,系统中在线用户数会减少,这可以帮助限制系统的负载,保证系统性能在一个合理的范围内。 - **防止同一用户重复登录**:Session有效时,若同一用户尝试再次登录,系统通常会...
在当前互联网应用开发中,用户登录状态的管理是一个至关...通过在后端设置有效的Session失效拦截逻辑,并在前端根据返回的结果执行相应的处理,可以有效地解决Session失效时遇到的问题,并确保应用的稳定和可靠运行。
然而,当Session失效时,用户应该被重新定向到登录页面以重新验证身份。对于常规HTTP请求,我们可以轻松通过登录过滤器来处理这个问题。但针对Ajax请求,由于其异步性质,处理Session失效的方式略有不同。 标题和...
本文介绍了使用AJAX操作时全局监测用户session失效并解决该问题的方法。AJAX,即异步JavaScript和XML,是一种用于浏览器与服务器之间进行异步通信的技术。它允许网页在无需重新加载的情况下与服务器交换数据,并更新...
使用filter来做后台,Ext.Ajax.on('requestcomplete', checkUserSessionStatus, this);用requestcomplete这个方法来异步判断session是否已经失效了
当用户session失效时,系统需要能够及时通知用户并引导他们重新登录。在使用Ajax技术进行异步数据交互时,传统的处理方式可能会失效,因为Ajax请求不会像普通HTTP请求那样自动处理服务器返回的重定向。本文将详细...