JavaEE-Serlvet会话跟踪

来源:互联网 发布:数据库架构师培训 编辑:程序博客网 时间:2024/06/13 22:49
1.    会话跟踪简介:
        HTTP协议是一种无状态的协议,所以web服务器不了解同一用户以前请求的信息。 要想了解用户在前面的操作并取得一些有用的属性值,引入了几种会话跟踪技术:
            1.    Cookie技术(2-5)
            2.    Session技术
            3.    URL重写技术
            4.    隐藏表单域技术(实现复杂,不解释)

2.    Cookie介绍:
        保存位置:浏览器所在客户端的内存或者磁盘上面
        使用:服务器可以从客户端读取之前发来的Cookie,Cookie安全性问题一直是人们关注的焦点。

3.    Cookie的安全机制决定:
            1.    Cookie不会以任何方式在客户端被执行。
            2.    浏览器会限制来自同一个网站的Cookie数目。
            3.    单个Cookie的长度是有限制的。
            4.    浏览器限制了最多可以接受的Cookie数目。

4.    基于这些安全机制,同时也会带来一些隐私问题,特别是一些重要的资料,另外,浏览器可以设置成拒绝Cookie.

5.    Cookie的创建以及使用
            Cookie userCookie = new Cookie("uName",username);
      Cookie类提供的常用方法:
            1.    getMaxAge()/settMaxAge() :读取/设置Cookie的过期时间,setMaxAge()设置负值,则关闭浏览器马上过期,设置为0,表示删除cookie.
            2.    getValue() / setValue() :读取/设置Cookie属性值
            3.    getComment() / setComment():读取/设置注释

       设置好以后:通过response对象把Cookie发送到客户端:
            response.addCookie(userCookie);
       同时也可以通过getCookies()获得这个网站的所有Cookie,返回数组
    
 6.    Session技术的引出:
        使用Cookie如果传递消息太多降低网络传输效率,并且增大服务器端的处理难度,从而提供了一种将会话状态保存在服务器端的方案,即Session.
        作用:跟踪客户端的状态