会话的创建
Servlet中的HttpRequestServlet对象为我们提供了一下两种创建并获取HttpSession对象的方法:
<1> HttpSession session = request.getSession(boolean value);
<2> HttpSession Session = request.getSession();
第一种方式中布尔值为true时,如果存在与当前请求关联的会话,就返回该会话。否则创建一个新的绘画,并把该会话返回。布尔值为false时,如果存在与当前请求关联的会话,就返回该会话。否则返回null,不再返回创建会话。
第二种凡是就相当于第一种方式的布尔值为true。
会话的使用
在javax.servlet.http.HttpSession接口定义的方法,我们常用的是有关进行数据存取的方法。
session.setAttribute(Stringname,Object value);
session.getAttribute(Stringname);
setAttribute(Stringname,Object value)是把对象保存在HttpSession对象中,并为其指定引用名称为name。当我们想使用已经存储在session中的数据时,我们可以使 用session.getAttribute(Stringname)方法,吧数据取出来。其中name为我们在存储数据时指定引用的名称。值得注意的是,session.getAttribute(Stringname)方法的返回值是Object类型,所以在取出数据时,要对其进行数据类型转换,而且必须与我们存在的数据类型一致。如String value=(String)session.getAttribute(String name);
HttpSession对象的存在周期
<1>HttpSession对象的创建:当客户端浏览器第一次访问服务器时,服务器为每个浏览器创建 不同的HttpSession对象,在服务端使用request.getSession()方法获得HttpSession对象,并以此来使用 HttpSession接口为我们提供的方法。
HttpSession对象的使用
session.setAttribute(Stringname,Object value);
session.getAttribute(Stringname);
HttpSession对象的结束
(1)关闭浏览器
(2)调用HttpSession的invalidate()方法,删除HttpSession对象和数据
(3)两次访问时间间隔大于session定义的非活动时间的间隔。
在session结束时,服务器会清空当前浏览器相关的数据信息
name);