首页 > 代码库 > session熟知

session熟知

Session

  服务器端保存会话信息的技术.

1 //如何获得session
2 HttpSession session = request.getSession();
3 //如何操作session
4 session.setAttribute(arg0, arg1)
5 session.getAttribute(arg0)
6 session.removeAttribute(arg0)
7 session.getAttributeNames()

原理

  浏览器第一次访问服务器,服务器会在内存中开辟一个空间(session),并把session对应的ID发送给浏览器.那么下次浏览器再去访问服务器,会把sessionID 交给服务器,服务器通过sessionID 找到刚才开辟的空间.

Session细节问题

  1. 服务器让浏览器记住sessionID的cookie 默认过期时间是 (-1)==> 关闭浏览器cookie就丢失 ==> cookie丢失sessionID就丢失 ==> 找不到服务器的session
1 session中除了4个操作map的方法之外,其它方法
2 long getCreationTime() 获得创建时间
3 String getId() 获得sessionID
4 long getLastAccessedTime() 获得最后一次访问时间
5 int getMaxInactiveInterval() 获得session的寿命
6 void setMaxInactiveInterval(int interval) 设置session的过期时间 
7 void invalidate() 让session立即失效
8 boolean isNew() 

关于设置session的最大有效时间

默认是30分钟.   在tomcat的web.xml中 <session-config> 配置的.如何修改session的过期时间?
  1.修改在tomcat的web.xml中 <session-config> ==> 影响服务器中的所有项目
  2.在项目的web.xml中 加入<session-config> 配置.==> 影响的是当前项目
  3.通过setMaxInactiveInterval(int interval)方法设置.==> 当前操作的session

session熟知