HttpSession学习笔记
HttpSession就是实现会话技术的类:
1,session被保留在服务器端;
2,session里面可以存放多个属性,属性里面包含名字(String),值(Object);
3,session的创建:request.getSession(),如果没有与此请求关联的session,即没有与发出这个请求的浏览器关联的session,则创建一个与此请求关联的session,即创建一个与发出这个请求的浏览器关联的session,如果有,则返回这个session;
4,关于session的创建,还有一个方法可以创建session,request.getSession(boolean create),有两种情况:
(1)不存在与此浏览器关联的session,如果create为true,就返回一个新的session;如果create为false,则返回null;
(2)如果存在与此浏览器关联的session,则返回这个session;
5,添加session的属性,session.setAttribute(“name”,“value”);得到session的属性,session.getAttribute(“name”);删除session的属性,session.removeAttribute(“name”);
6,如果一个session里面出现重名的属性,后创建的那个会覆盖之前创建的那个;
7,一个用户浏览器单独关联一个session;
8,session默认的生命周期是30min,可以通过web.xml文件和调用方法进行修改:
(1)在tomcat\conf\web.xml里面修改:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
这样的话,tomcat里面的所有web应用里面的session的生命周期都被修改;
(2)在web应用的web.xml文件里面修改:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
(3)使用方法session.setMaxInactiveInterval(time);参数的单位是秒;
(4)使用方法session.invalidate();使会话失效,并解开与这个session绑定的对象的绑定,该方法让session的所有属性失效,通常用于实现安全退出功能;
注意,session的生命周期指的是浏览器端发出请求与session失效之间的时间间隔;
重启Tomcat,重新加载Web应用,都会令session失效;
9,删除session中的某个属性,使用方法session.removeAttribute(String name);里面的name指的是session某个属性的name;
10,session可以用于实现这些功能:(1)防止用户未经登陆进入页面;(2)验证码;
浙公网安备 33010602011771号