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细节问题
- 服务器让浏览器记住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