Javaweb学习总结(四)

来源:互联网 发布:nginx访问js报错403 编辑:程序博客网 时间:2024/05/18 20:04

Servlet的会话跟踪


一、为什么需要会话跟踪?

由于http协议是一种无状态的协议,即一般情况下,在服务器相应客户端后,服务器就与客户端断开连接,这与普通的基于TCP/IP的协议是有区别的。而且我们需要对用户在访问同一web时进行跟踪,判断当前用户是否登录或者这个用户是不是在对同一个web应用在进行访问。


二、HttpSession:

HttpSession是Java web对用户进行会话跟踪的一个接口,而非是一个已经写好的类。

HttpSession由Servlet容器的提供者进行实现,如Tomcat、Jboss等。

HttpSession通过 HttpServletReques t的 getSession()或getSession(boolean )方法获取:

getSession()如果会话没有被创建则创建一个新会话并返回,如果已存在一个会话,便将该会话返回给程序。

getSession(boolean )的参数如果为false,如果会话存在则返回,否则返回null;如果参数为true,则与第一个方法无区别。

HttpSession的常用方法:

String getID()   返回 包含分配给此对话对象的唯一标识符的字符串。

void invalidate() 使会话无效,然后取消对任何绑定到此会话的对象的绑定。

void setAttribute(String name , Object value)  使用指定名称将对象绑定到此对话。使用方式与map类似。

Object getAttribute(String name) 返回与此对话中的指定名称绑定在一起的对象。

void removeAttribute(String name) 从此会话中移除与指定名称绑定在一起的对象。

boolean isNew() 如果客户端还不知道该会话,或者客户端选择不加入该会话,则返回true,





原创粉丝点击