Servlet 会话机制

1.	Servlet中会话跟踪技术的方案有: session、cookie、URL重定向、隐藏表单域技术

Servlet 的会话跟踪技术:
a. Http是一种无状态协议,也就是说,当一个客户访问服务器时,服务器不会保留客户端的
   的任何信息,因此Web服务器会将同一个用户的每次访问都当做一次新的访问。
   但有时候需要服务器保留客户端的信息,用以识别同一个客户的多次访问,,哪有如何呢?

b. 为了跟踪用户的操作状态,Servlet容器使用另一个称为HttpSesion的对象实现这个功能,称为会话机制。

c. 会话(Session)是指在一段时间内,一个客户与Web服务器的一系列交互过程,在一次会话中,客户可能多次

    访问同一个页面,也可能访问多个不同服务器资源。

d. Session的生命周期是由Servlet容器来管理的,Servlet容器可以通过HttpSession的setMaxInactiveInterval()

   方法设置Session的最大生存时间, 也可以通过HttpSession的invalidate()方法结束一个会话。


Servlet实现会话跟踪

1. 会话的创建
	a. 在Servlet中可以通过request对象获得HttpSession对象,具体方法如下:

		HttpSession session = request.getSession(Boolean value);
		HttpSession session = request.getSession();
(1) 第一种方法中,布尔值为true时,表示如果存在和当前请求关联的会话,就返回该会话。

如果没有关联的话,则创建一个新的会话; 布尔值为false时,表示如果存在和当前请求关联的会话,就返回该会话,如果没有关联的

会话,就返回该会话,如果没有关联的会话返回null,并且不创建新的会话。


Session对象生命周期

a. 客户关闭浏览器,表示一次会话结束,Session对象生命周期结束。

b. 调用HttpSession 的invalidate()方法,可以结束HttpSession对象生命周期。

c. 两次访问服务器的时间间隔大于session定义的最大的非活动时间间隔,也会结束session.



  类似于购物车等,都会用到session............

猜你喜欢

转载自wkf41068.iteye.com/blog/1826961