Session 简单的使用
Seesion介绍
- Session是一个接口(HttpSession)
- Session就是会话。它是用来维护客户端和服务器之间关联的一种技术
- 每个客户端都会有一个Session会话
- 每个用户申请都会得到一个不一样的session范围
- 服务器通过session的ID来判断用户的Session范围
- Session会话中,我们经常用来保存用户登录后的信息
- session的默认存活时间为30分,可以通过配置xml文件修改session的存活时间
- request请求申请的数据调用结束就自动销毁,点击一次等于一次请求
- session存活时间长,不适合存储大量数据,能不使用session尽量不使用,否则堆栈容易溢出,一般放在请求范围request内
- 在客户端完全关闭后,session自动销毁
如何创建和获取Session
-
创建Session对象
//获取session范围,如果没有则创建一个session范围 HttpSession session = request.getSession();
-
设置Session值
//设置session值 session.setAttribute("key1",value1); session.setAttribute("key2",value2);
-
关于Session本身的信息
// session是否存在 System.out.println("add session is new? " + session.isNew()); // session的ID System.out.println("add session id:" + session.getId()); // session的创建时间 System.out.println("add session createtime:" + new Date(session.getCreationTime()).toLocaleString());
-
获取Session信息
//从session域中通过key获取对应value,类型为Object,可能需要根据需求做类型强转 session.getAttribute("key1");
修改Session默认存活时间
- 在xml文件中配置session的默认存活时间
- 以下代码放在代码块中根据需求使用
<session-config>
<!-- 存活分钟,这里的 1 表示session存活1分钟 -->
<session-timeout>1</session-timeout>
</session-config>