第三章基于Servlet的会话跟踪(一).doc

第三章基于Servlet的会话跟踪(一).doc

ID:59137521

大小:23.50 KB

页数:2页

时间:2020-09-12

第三章基于Servlet的会话跟踪(一).doc_第1页
第三章基于Servlet的会话跟踪(一).doc_第2页
资源描述:

《第三章基于Servlet的会话跟踪(一).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一章基于Servlet的会话跟踪(一)本章技能目标:Ø理解会话跟踪的原理Ø会使用获得HttpSession对象的方法Ø会使用HttpSession对象进行数据的存储lHTTP协议的无状态ØHTTP协议是无状态的,也就是说,如果我们仅使用Http协议是不能够进行用户状态的跟踪的。l会话跟踪Ø什么是会话?²在JavaServletAPI中引入session机制来跟踪客户的状态。Session指的是一段时间内,单个用户与Web服务器的一连串相关的交互过程,Ø如何进行会话跟踪的?²在ServletAPI中定义了javax.servlet.http.HttpSession接口,Servle

2、t容器必须实现这个接口。²当一个session开始时,Servlet容器创建一个HttpSession对象,并同时在内存中为其开辟一个空间,在HttpSession对象中可以存放客户状态的信息(例如:购物车)。²Servlet容器为HttpSession分配一个唯一标识符,称为SessionID。Servlet容器把SessionID保存在客户的浏览器中。每次客户发送HTTP请求时,Servlet容器可以从HttpSession对象中读取SessionID,然后根据SessionID找到相应的HttpSession对象,从而获取客户的状态信息。Ø会话的创建和使用²会话的创建Serv

3、let中的HttpRequestServlet对象为我们提供了以下两种创建和获取HttpSession对象的方法。1.HttpSessionsession=request.getSession(Booleanvalue);2.HttpSessionsession=request.getSession();区别:在第一种方法中,布尔值为true时,如果存在与当前请求关联的会话,就会返回该会话,否则就创建一个新会话,并返回。布尔值为false时,如果存在与当前请求关联的会话,就返回该会话,否则返回NULL,不再创建会话。第二种方法等同于第一种方法中的布尔参数为true的情况。²会话的使

4、用在Javax.servlet.http.HttpSession接口定义的方法,我们常用的是有关数据存储的方法。1.session.setAttribute(Stringname,Objectvalue);2.session.getttribute(Stringname);注意:在取出数据时,需要类型转换。ØHttpSession对象存在的周期1.HttpSession对象的创建²当客户端浏览器第一次访问服务器时,服务器为每个浏览器创建了不同的HttpSession对象。在服务器端使用request.getSession()方法来获得HttpSession对象。并以此来使用Http

5、Session接口为什么提供的方法。1.HttpSession对象的使用²在创建HttpSession对象后,使用该对象进行数据的存储,以进行数据的传递,在此过程中我们常用的方法如下。(1)voidsetAttribute(Stringname,Objectvalue);//进行数据的存储。(2)ObjectgetAttribute(Stringname);//进行数据的读取。2.HttpSession对象的结束²在以下3种情况,可以结束session(1)关闭浏览器,关闭session(2)调用HttpSession的invalidate()方法,删除HttpSession对象和

6、数据。(3)两次访问时间间隔大于session定义的非活动时间间隔。Ø网页计数器²HttpSession技术不属于HTTP协议的范围内,它是因为HTTP协议不能满足对用户的跟踪而产生的一直技术,它是由Web服务器为程序提供的服务。²Session是由服务器也就是Web容器创建的,我们使用request.getSession()来获得HttpSession对象,使用session.setAttribute()进行数据的保存,而使用session.getAttribute()来获得session内以保存的值。Ø在使用session进行数据存储的时候,需要考虑该数据是否合适被存入sess

7、ion中,如果是当前用户经常使用的数据,则可以存入session中。如果用户只用了一次,不要使用或者偶尔才使用一次的数据,则不要存入session中,因为这样会增加系统资源的浪费。l总结:Ø在Web项目中使用session,是为了跟踪用户状态,并区分不同的用户。Ø会话是Web容器创建的,而不是由程序员编码创建的,当客户端第一次访问的服务器的时候,服务器会为客户创建一个session/Ø结束session有以下3中方式:l关闭浏览器l两次访问的时间间隔大于非活动时间l调

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。