java的session什么时候清空

 我来答
匿名用户
2013-07-10
展开全部
 一般情况下,session都是存储在内存里,当服务器进程被停止或者重启的时候,内存里的session也会被清空,如果设置了session的持久化特性,服务器就会把session保存到硬盘上,当服务器进程重新启动或这些信息将能够被再次使用。1、session在何时被创建  一个常见的误解是以为session在有客户端访问时就被创建,然而事实是直到某server端程序调用HttpServletRequest.getSession(true)这样的语句时才被创建,注意如果JSP没有显示的使用 <%@page session="false"%>关闭session,则JSP文件在编译成Servlet时将会自动加上这样一条语句HttpSession session = HttpServletRequest.getSession(true);这也是JSP中隐含的session对象的来历。

  由于session会消耗内存资源,因此,如果不打算使用session,应该在所有的JSP中关闭它。

  2、session何时被删除

  综合前面的讨论,session在下列情况下被删除a.程序调用HttpSession.invalidate();或b.距离上一次收到客户端发送的session id时间间隔超过了session的超时设置;或c.服务器进程被停止(非持久session)

  3、如何做到在浏览器关闭时删除session

  严格的讲,做不到这一点。可以做一点努力的办法是在所有的客户端页面里使用javascript代码window.oncolose来监视浏览器的关闭动作,然后向服务器发送一个请求来删除session。但是对于浏览器崩溃或者强行杀死进程这些非常规手段仍然无能为力。

  4、有个HttpSessionListener是怎么回事

  你可以创建这样的listener去监控session的创建和销毁事件,使得在发生这样的事件时你可以做一些相应的工作。注意是session的创建和销毁动作触发listener,而不是相反。类似的与HttpSession有关的listener还有HttpSessionBindingListener,HttpSessionActivationListener和HttpSessionAttributeListener。
百度网友11f93a9
2015-07-25 · 超过35用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:17万
展开全部
session是在服务器端创建保存的。默认情况下是半小时同一个客户端与服务器无交互会被清空,你也可以主动在代码中获取session进行清空,祝学习顺利
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lovelykiis
推荐于2016-06-04 · 超过17用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:35.9万
展开全部
java 里的session是由服务器管理的,一般在服务器配置里都能设置
比如tomcat默认配置为30分钟
tomcat/conf/web.xml文件中
..........
<session-config>
<session-timeout>30</session-timeout>
</session-config>
...........
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-10
展开全部
在xml里设定,看你是什么情况了.
一般名字都叫这个,session-time-out
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-10
展开全部
由容器设定,比如Tomcat等。一般是十五分钟
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式