作用域-请求域
作用范围:只在一次请求中有效;
四个方法:void setAttribute(String name,Object obj);
Object getAttribute(String name);
void removeAttribute(String name);
Enumeration getAttributeNames();返回request中所有属性名的枚举;
作用域-会话域
HttpSession session = request.getSession();[jsp用session]
作用范围:该次回话期间一直有效;(Tomcat默认30分钟)
1.session.invalidate()执行后,session无效;
2.session的最大等待时间到后,session无效;
3.关闭浏览器后,session无效;
4.浏览器和服务器没有配对的SessionID就表示session无效;
浏览器发送一次请求到服务器,服务器首先判断,该请求是否携带一个SessionID值
如果这次请求没有携带一个SessionID值,服务器就知道了,这是第一次来访问该服务器
浏览器与该服务器开始建立会话
服务器会在相应请求的同时,将产生一个SessionID,作为该次会话的标识
再把这个SessionID发给浏览器,浏览器就拥有一个SessionID了
当再次访问该服务器时,浏览器会携带那个SessionID,被传到服务器
服务器首先判断该请求是否携带一个SessionID值,此时有了,代表这不是一个新的会话的请求
如果浏览器两个请求之间的时间太长,超出服务器等待的时间,服务器会删除这个session对象
删除后,再次发送到该服务器,因为服务器里没有这个session对象了,就不能判断请求是否携带SessionID值
也就是说判断不出来,就认为这是一个新的会话开始,又会产生一个SessionID,作为这次新会话的标识
又把这个SessionID发给浏览器,浏览器就拥有一个新的SessionID了
在会话开始时,服务器会自动分配一个空间(session对象),SessionID就在session对象里;
作用范围:只在一次请求中有效;
四个方法:void setAttribute(String name,Object obj);
Object getAttribute(String name);
void removeAttribute(String name);
Enumeration getAttributeNames();返回request中所有属性名的枚举;
作用域-会话域
HttpSession session = request.getSession();[jsp用session]
作用范围:该次回话期间一直有效;(Tomcat默认30分钟)
1.session.invalidate()执行后,session无效;
2.session的最大等待时间到后,session无效;
3.关闭浏览器后,session无效;
4.浏览器和服务器没有配对的SessionID就表示session无效;
浏览器发送一次请求到服务器,服务器首先判断,该请求是否携带一个SessionID值
如果这次请求没有携带一个SessionID值,服务器就知道了,这是第一次来访问该服务器
浏览器与该服务器开始建立会话
服务器会在相应请求的同时,将产生一个SessionID,作为该次会话的标识
再把这个SessionID发给浏览器,浏览器就拥有一个SessionID了
当再次访问该服务器时,浏览器会携带那个SessionID,被传到服务器
服务器首先判断该请求是否携带一个SessionID值,此时有了,代表这不是一个新的会话的请求
如果浏览器两个请求之间的时间太长,超出服务器等待的时间,服务器会删除这个session对象
删除后,再次发送到该服务器,因为服务器里没有这个session对象了,就不能判断请求是否携带SessionID值
也就是说判断不出来,就认为这是一个新的会话开始,又会产生一个SessionID,作为这次新会话的标识
又把这个SessionID发给浏览器,浏览器就拥有一个新的SessionID了
在会话开始时,服务器会自动分配一个空间(session对象),SessionID就在session对象里;