一、什么是Session
服务器端保存与客户端会话状态的技术。
二、Session的实现方式
使用一种类似于散列表的结构来保存信息。
三、Session机制
程序需要为某个客户端请求建立Session的时候,服务器首先检测这个请求是否包含session id,如果已经包含,说明已创建过session,根据session id取出把这个session检索出来。如果不包含,则创建一个session id,保存在客户端。
三、示例代码
setSession.jsp
<%
request.getSession().setMaxInactiveInterval(60*60*24);
request.getSession().setAttribute("pwd","123");
response.encodeURL("read_session.jsp");
out.print("<h1>session设置成功!有效期一天。</h1>");
out.print("<h1>找到了,id值为:"+request.getSession().getId()+"</h1>");
request.getSession().invalidate();
System.out.print(request.getSession().getAttribute("pwd"));
%>readSession.jsp
<%
String pwd = (String) request.getSession().getAttribute("pwd");
if (pwd == null) {
out.println("<h1>Session没有找到</h1>");
} else {
out.println("<h1>找到了,值为:" + pwd + "</h1>");
out.print("<h1>找到了,id值为:"+request.getSession().getId()+"</h1>");
}
%>
四、session和cookie的区别与联系
session是服务器端保存状态的方案,cookie是客户端保存状态的方案。
session通常借助cookie来保存标识符,但其实也有其他方案。