Session和Cookie的使用

在Web应用中,我们经常需要跟踪用户身份.当一个用户登录成功后,如果他继续访问其他页面,Web程序如何才能识别出该用户身份? 

因为HTTP协议是一个无状态协议,即Web应用程序无法区分收到的两个HTTP请求是否是同一个浏览器发出的,为了跟踪用户状态,服务器可以向浏览器分配一个唯一ID,并以Cookie的形式发送到浏览器,浏览器在后续访问是总附带此Cookie,这样,服务器就可以识别用户身份.

Session

我们把这种基于唯一ID识别用户身份的机制称为Session.每个用户第一次访问服务器后会自动化的一个Session ID.如果用户在一段时间内没有访问服务器,那么Session会自动失效,下次即使带着上次分配的Session ID访问,服务器也认为是一个新用户,会分配新的Session ID 

向Sessoin中 添加/获得/删除标识 : req.getSession.setAttribute(键,值) / req.getSession.getAttribute(键) / req.getSession.removeAttribute(键) 

Cookie

实际上,Servlet提供的HttpSession本质上就是通过一个名为JSESSIONID的Cookie来跟踪用户对话的.除了这个名称外,其他名称的Cookie我们可以任意使用

创建一个Cookie的步骤

Cookie cookie = new Cookie(键,值);

cookie.setPath("/"); // 指定cookie生效的路径范围

cookie.setMaxAge(秒) //之地当Cookie的有效期

resp.addCookie(cookie);

原文地址:https://www.cnblogs.com/j-1-z-2-s-3/p/13548599.html