JSP的内置对象——session

什么事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]+"&nbsp;&nbsp;");
}
%><br>

session的生命周期

销毁:

  • 调用session.invalidate
  • session过期(超时)
  • 服务器重启
  <%-- 设置会话一分钟后过期--%>
<session-config>
    <session-timeout>1</session-timeout>
    </session-config>
原文地址:https://www.cnblogs.com/ljp-yuban/p/7676030.html