Session()

简介: 如何使用 Session Java Api 只给我们一种方式来 获取 当前会话相关的 session: HttpSession session = request.getSession(); //或 HttpSession session = request.

 

如何使用 Session

Java Api 只给我们一种方式来 获取 当前会话相关的 session:

HttpSession session = request.getSession();
//或
HttpSession session = request.getSession(boolean);

设置值:

session.setAttribute("key", 值对象);

获取值:

对象类型 obj = (对象类型)session.getAttribute("key");
//如
String name = (String)session.getAttribute("key");

删除 session 指定属性健:

session.removeAttribute("key");

清除所有的session,使当前 session 完全失效:

session.invalidate();

 

session超时周期设置 

1. Tomcat 安装位置 conf/web.xml :

<session-config>
        <session-timeout>30</session-timeout> </session-config>

30分种

2. Tomcat 安装位置 conf/server.xml :

<Context path="/test" docBase="/test"   defaultSessionTimeOut="3600" isWARExpanded="true"   isWARValidated="false" isInvokerEnabled="true"   isWorkDirPersistent="false"/>

单位为 秒

3. Java 代码设置:

HttpSession session = request.getSession();
session.setMaxInactiveInterval(1200);

20 分种:

其他说明: 

1. session 过期情况:

1>. 客户端浏览器关闭:

2>. session 会话过期;

3>. 客户端会话调用了 .invalidate();

2. 浏览器关闭与session是否还在;

当客户端浏览器关闭后,session 在服务端还是会存在一定时间的,只是当浏览器器再次打开时,就会生成一个新的 session ,浏览器通过生成的 sessionid 属性来 匹配服务端的 session; 那上次的session 虽然还在,但是就访问不到了;

3. <% @ page session="false" %> 是什么情况?:

这句话的意思是,当前不能使用 session, 但是 页面 session 还是可以创建的;

4. session 在什么时候 被创建:

在 程序 调用 HttpServletRequest.getSession(true) 时创建;如果 页面没有使用 <%@ page session="false"%> 时,在 jsp 页面编译成 Servlet 时,会自动 加上 HttpSession session = HttpServletRequest.getSession(true);

 http://www.cnblogs.com/editor/p/4114873.html

 

目录
打赏
0
0
0
0
95
分享
相关文章
cookie.setPath()的用法
cookie.setPath()的用法 正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。1.可在同一应用服务器内共享方法:设置cookie.setPath("/");    本机tomcat/webapp下面有两个应用:cas和webapp_b,    1)原来在cas下面设置的cookie,在webapp_b下面获取不到,path默认是产生cookie的应用的路径。
2490 0
艾伟_转载:Cookie是什么?用法是怎样?与SESSION有什么区别?(二)
  二session 简介   IE中:   有效的窗品包括   1.Session对象只在建立Session对象的窗口中有效。   2.在建立Session对象的窗口中新开链接的窗口   无效的窗口包括   1.直接启动IE浏览器的窗口   2.不是在建立Session对象的窗口中新开链接的窗口   NetScape中:   只要一个窗口有了某个Session对象,则全部窗口对此Session都有效   Session是什么呢?简单来说就是服务器给客户端的一个编号。
950 0
艾伟_转载:Cookie是什么?用法是怎样?与SESSION有什么区别?(一)
  Cookie是什么?用法是怎样?与SESSION有什么区别?   一 Cookie简介   因特网的Cookie技术极其简单,却有着旺盛的生命力。Cookie开始引起众人的注意是从2000年二月份随着网络隐私权的提出开始的,有关的辩论至今仍在继续。
1112 0
包装你的Session,使Session对象化
在Web开发中,经常需要使用Session来保存特定用户的信息,在我们的程序中很多地方散落着类似下面的语句:  int userAge = (int)this.Session["UserAge"];         我们知道,Session中存放的是键值对,键是string类型的,如果我们一不小心把上面的语句写成这样:   int userAge = (int)this.Session["UseAge"];     编译期不会发现这个错误,但运行时一定会抛出异常,这是在程序中直接操作Session可能引发的问题之一。
652 0
session原理总结
之前在学校的时候,只知道session与cookie的区别在于:session是保存在服务器端,cookie保存在客户端。session怎么样保存的?以文件的形式保存。自己去测试过。有的忘记了。对应session的id号模糊不清。
1296 0