session对象
session对象是一个JSP内置对象。
session对象在第一个JSP页面被装载时自动创建,完成会话期管理。
从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当一个客户访问一个服务器时,就需要session对象。
session对象是HttpSession类的实例。
<%
SimpleDateFormate sdf=new SimpleDateFormate("yyyy年MM月dd日HH:mm:ss");
Date d = new Date (session.getCreationTime());
session.setAttribute("username","admin");
session.setAttribute("password","123456");
session.setAttribute("age",20);
//设置当前session最大生成期限单位是秒
session.setMaxInactiveInterval(10);
%>
Session创建时间:<%=sdf.format(d)%><br>
Session的ID编号:<%=session.getid()%><hr>
从Session中获取用户名:<%=session.getAttribute("username")%><br>
Session的ID编号:<%=session.getid()%><hr>
从Session中获取用户名:<%=session.getAttribute("username")%><br>
Session中保存的属性有:<%
String[] name=session.getValueNames();
for(iint i=0;i<name.length;i++)
{
out.println(name[i]+"&nasp;&nasp;");
}
%><br>
会话是用来保存用户状态的一种机制
会话保存在服务器的内存里
每一个会话对应一个唯一的sessionId
Session的生命周期
创建
当客户端第一次访问某个jsp或者servlet时候,服务器会为当前会话创建一个Sessionid,每次客户端向服务端请求时,都会将此SESSIONID携带过去,服务端会对此sessionid进行校验
活动:
某次会话中通过超链接打开的新页面属于同一次会话。
只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次会话。
除非本次会话的所有页面都关闭后再重新访问某个JSP或者servlet将会创建新的会话。
注意事项:注意原有会话还存在,只是这个旧的session仍然存在于服务器,只不过再也没有客户端会携带它然后交予服务端校验。
销毁
session的销毁只有三种方式:
1.调用session.invalidate()方法
2.session过期(超时)
3.服务器重新启动
session对象
Tomcat默认session超时为30分钟。
设置session超时有两种方式:
1.session.setMaxInactiveInterval(时间);//单位是秒
2.在wexml配置
<session-config>
<session-timeout>
10
</session-timeout>
</session-config>//单位是分钟