繁体   English   中英

Servlet会话行为和Session.invalidate

[英]Servlet Session behavior and Session.invalidate

假设我有一个Web应用程序,在web.xml中定义了一个servlet。

然后,将其部署在Tomcat上。

然后,我打开浏览器并转到该servlet的链接,该链接已被调用。

然后关闭浏览器窗口。

会话如何表现 在这种情况下如何创建,销毁它?

如果此Servlet与所有Web应用程序“分离”,并且仅使用post&get获取参数,那么它根本不需要Session,应该在doGet(),doPost()末尾使用Session.invalidate吗?

Servlet容器通常使用(1)HTTP cookie或(2)在每个URL中添加额外的参数jsessionid跟踪会话。

当用户访问此站点且尚不存在会话时,将为他创建一个新会话,包括相应的HttpSession 如有必要,可以将用户重定向到登录页面。

Session.invalidate的作用基本上是:“为此用户丢弃当前会话。如果他访问站点上的另一个页面,则将创建一个新会话”。

到目前为止,我知道,会话无效通常用于实现注销功能。

我不会在您的“分离的” servlet中调用Session.invalidate ,它将干扰其他页面。 基本上,您不需要关心servlet中的会话,也不会使用它。

也许还有一个关于禁用会话的问题

然后关闭浏览器窗口。 会话如何表现? 在这种情况下如何创建,销毁它?

您是否在询问是否在客户端收到响应之前关闭浏览器会发生什么情况?

在这种情况下, Session仍将在服务器上创建。 它将持续指定的时间段,然后到期。

来自浏览器的下一个请求将创建一个新的Session 在此处查看更多信息: http : //tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpSession.html

关于session.invalidate-ewernli已经回答。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM