Session
1、我对sesion的理解
- session是浏览器请求一些数据给web服务器,然后web服务器保存数据并生成一个sessionID返回给浏览器。这个sessionID是每个浏览器独有且唯一的。sessionID可以用来给让用户在同一个浏览器中访问多个页面,多个页面的用户数据不会改变也不会失效。
2、session的用法
//防止乱码
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=UTF-8");
//先从浏览器中得到一个Session
HttpSession session = req.getSession();
//判断Session是不是新建的
if(session.isNew()){
resp.getWriter().write("这个Session是新建的,ID:"+session.getId());
}
else
{
resp.getWriter().write("这个session以前就有了,ID:"+session.getId());
}
//服务器给Session添加元素
session.setAttribute("name",new persion("小洛",20).toString());
session.invalidate();
}
//拿到设置session的值
String name =(String) session.getAttribute("name");
resp.getWriter().write(name);
3、清除sessionID的方法(定时清除SessionID,可以减少服务器的负担)
- 关闭浏览器后,sessionID会直接消失
- 手动清除sessionID
session.invalidate();
<!--设置session失效时间-->
<session-config>
<!--以分钟为单位-->
<session-timeout>1</session-timeout>
</session-config>