会话
浏览器和服务器间一次连续的通讯过程。
Cookie
客户端:简化登录
保存客户信息到本地硬盘的某个.txt文件里(生存周期)
<%--遍历Cookie--%>
<%
Cookie[] arr = request.getCookies();
for(Cookie cookie : arr){
out.print(cookie.getName()+ "::" + cookie.getValue() + "<br>");
}
%>
<%--设置Cookie--%>
<%
Cookie cookie = new Cookie("name","李雷");
Cookie cookie2 = new Cookie("age","20");
response.addCookie(cookie);
response.addCookie(cookie2);
%>
Session
保存信息
存在于服务器端内存里
jsp退出登录并销毁session
session.invalidate();//session清空,杀掉会话
//手动清空某项session,赋值null是个陷阱,开发不要用。
设置session有效时间
方式一:在 web.xml 中配置
<session-config>
<session-timeout>5</session-timeout>
</session-config>
方式二:通过 java 代码设置
HttpSession session = request.getSession();
session.setMaxInactiveInterval(60);//单位为秒
Cookie和Session区别
- session是在服务器端保存用户信息,Cookie是在客户端保存用户信息
- session中保存的是任意对象,Cookie保存的是字符串session随会话结束而关闭,Cookie可以长期保存在客户端硬盘上,也可以临时保存在浏览器内存中
- Cookie通常用于保存不重要的用户信息,重要的信息使用session保存