当前位置: java基础教程 > 22-servlet框架 > 阅读正文

httpSession的使用

2021.3.17.   1083 次   1051字

服务器会话技术,将数据保存到服务器。

1.session基于cookie

服务器向客户端发送响应时,服务器会将会话id与响应数据一起发送给客户,这是通过Set-Cookie响应头来实现的,响应消息可能为:

HTTP/1.1 200 OK
Set - Cookie:JSESSIONID = 61C4F23521390E70993E5120263C6
Content - Type:text/html
...

这里的会话id,它是32位的十六进制数

当客户端再次向服务器发送请求时,会把该cookie头一起发送过去

2.获取session对象
HttpSession session = request.getSession();
//与此方法等价的是
HttpSession sessio  = request.getSession(true);
3.HttpSession API的常用方法
  • public String getId();返回会话的唯一标识符
  • public long getCreationTime();返回创建时间,是1970到现在的秒数
  • public long getLastAccessedTime();返回会话最后被访问的时间
  • public boolean isNew();如果会话对象还没有被关联,返回true
  • public ServletContext getServletContext();获取ServletContext对象
  • public void setAttribute(String name,Object value);存一个值
  • public Object getAttribute(String name);获取一个值
  • public void removeAttribute(String name);删除一个值
  • public Enumeration getAttributeNames();以枚举对象返回所有属性
  • public void setMaxInactiveInterval(int interval);设置失效时间
    • 整数,存活的秒数
    • 0,永不失效
    • 负数,永不失效
  • public int getMaxInactiveInterval();获取存活时间
  • public void invalidate();使对象失效并删除所有存在该对象的数据
4.会话超时与失效

可以在web.xml中配置会话超时时间

<session - config>
    <session - timeout>10</session - timeout>
</session - config>

会话的默认超时时间是30分钟,上面的timeout单位是秒。

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群