0%

Session会话跟踪

HTTP是无状态的

  • 服务器无法判断这两次请求是否为同一个客户端发出
  • 通过会话跟踪技术解决无状态问题

输出sessionID
1
2
3
4
5
6
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("get..");
HttpSession session = req.getSession(); //若参数为false,没有会返回null,不创建新的会话
System.out.println("sessionID:" + session.getId());
}
最大闲置时间

默认:1800秒

1
2
3
4
5
6
7
8
// 获取默认的最大闲置时间
int maxInactiveIntervalSecond = session.getMaxInactiveInterval(); //非激活间隔时长
System.out.println("maxInactiveIntervalSecond = " + maxInactiveIntervalSecond);

// 设置默认的最大闲置时间
session.setMaxInactiveInterval(15);

session.invalidate(); //强制失效

Session保存作用域

  • 是和具体的某一个session唯一对应的
  • 常用API
1
2
3
4
HttpSession session = req.getSession();
session.setAttribute("username", "Bob"); //向当前session保存作用域保存一个数据
session.getAttribute("username"); //从当前session保存作用域获取指定key对应的value
session.removeAttribute("username");
------ THEEND ------

欢迎关注我的其它发布渠道