什么是session
- session表示客户端与服务器的一次会话
- web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭的这段时间,也就是用户浏览这个网站所花费的时间
- 从上述定义讲,session实际上试一个特定的时间概念
- 在服务器的内存中保存着不同用户的session
- session对象在第一个JSP页面被装载时自动创建,完成会话期管理
- 从客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,称为一次会话
- session时HttpSession的实例
接下来通过代码显示session对象的常用方法:
<%
session.setAttribute("username", "lllll");
session.setAttribute("password", "456329878");
session.setAttribute("age","18");
//设置session最大生存期限
session.setMaxInactiveInterval("10"); //10秒
%>
session对象的创建时间是:<%=new Date(session.getCreationTime())%><br><%--返回session对象的创建时间 --%>
session的id号:<%=session.getId() %><br><%--返回session对象在服务端的编号 --%>
客户最近一次的访问时间是:
<%=new Time(session.getLastAccessedTime()) %><br> <%--最后发送请求的时间 --%>
两次请求间隔多长时间session将被取消(ms):
<%=session.getMaxInactiveInterval() %><br> <%--session对象的生存时间 --%>
是否是新创建的session:<%=session.isNew()?"是":"否" %> <%--判断session对象是否为新,ture/false --%>
session的ID编号:<%=session.getId() %>
从session对象中获取用户名:<%=session.getAttribute("username") %>
session中保存的属性有:<%String [] name=session.getValueNames();
for(int i=0;i<name.length;i++){
out.println(name[i]+" ");
}
%><br>
session的生命周期
销毁:
- 调用session.invalidate
- session过期(超时)
- 服务器重启
<%-- 设置会话一分钟后过期--%> <session-config> <session-timeout>1</session-timeout> </session-config>