Session
服务器端保存会话信息的技术.
//如何获得session
HttpSession session = request.getSession();
//如何操作session
session.setAttribute(arg0, arg1)
session.getAttribute(arg0)
session.removeAttribute(arg0)
session.getAttributeNames()
原理
浏览器第一次访问服务器,服务器会在内存中开辟一个空间(session),并把session对应的ID发送给浏览器.那么下次浏览器再去访问服务器,会把sessionID 交给服务器,服务器通过sessionID 找到刚才开辟的空间.
Session细节问题
- 服务器让浏览器记住sessionID的cookie 默认过期时间是 (-1)==> 关闭浏览器cookie就丢失 ==> cookie丢失sessionID就丢失 ==> 找不到服务器的session
session中除了4个操作map的方法之外,其它方法
long getCreationTime() 获得创建时间
String getId() 获得sessionID
long getLastAccessedTime() 获得最后一次访问时间
int getMaxInactiveInterval() 获得session的寿命
void setMaxInactiveInterval(int interval) 设置session的过期时间
void invalidate() 让session立即失效
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