zoukankan      html  css  js  c++  java
  • Servlet总结03——会话跟踪

    (一)会话跟踪机制

    java Servlet使用session来跟踪和管理会话内的状态。利用session,服务器可以把一个客户的所有请求联系起来,并记住客户的操作状态。

    当客户第一次连接到服务器时,服务器为其建立一个session对象,并分配给客户一个唯一的标识(sessionID),以后客户每一次请求都要将这个标识一起提交。

    服务器根据这个特定的标识找到特定的session对象,读取或者记录用户的信息。

    有三种机制用于会话跟踪:

    1)SSL

    2)Cookies

    3)URL重写

    (二)Cookies——小甜饼

    Cookies的种类繁多:Session Cookie 、 Persitent Cookie、Secure Cookie、HttpOnly Cookie、Third-part Cookie等。

    这里我们重点关注Session Cookie。

    A session cookie only lasts for the duration of users using the website. A web browser normally deletes session cookies when it quits. A session cookie is created when no Expires directive is provided when the cookie is created.【from WIKI】

    从(一)里面可以知道,会话跟踪机制其实就是服务端给用户一个“会员卡”,用户每次请求时携带这张卡片。

    将Cookies应用于会话跟踪机制,其实就是用Cookie记录会员卡号,那么Cookie理所当然就成为了“会员卡”。

    (三)URL重写

    浏览器有时候会拒绝甜饼(禁用Cookie),这时可以使用URL重写机制来完成了。

    URL重写就是在url中附加标识客户的sessionID,servlet容器负责解析出sessionID,根据sessionID将请求与特定的session关联。

    (四)Java Servlet API的会话跟踪

    javax.servlet.http.HttpSession接口封装了session的概念,具体的Servlet容器提供了这个接口的实现。

    其方法包括:

    note:session只是服务端一种会话跟踪的方式,其依赖于Cookie机制(或者URL重写中的sessionID,原理一致!)。

    java servlet中的HttpSession接口实现了这个思想,交由具体的容器实现。

    javax.servlet.http.Cookie类的主要方法如下。

    在servlet规范中,用于会话跟踪的Cookie的名字是JSESSIONID(该Cookie保存识别不同用户session的id),他通常保存在浏览器内存中,

    当浏览器关闭后就删除,不能在多个浏览器间共享。

    同样在servlet规范中,url重写机制中传递session id的参数名称为:jsessionid

  • 相关阅读:
    程序的编码问题
    man DMIDECODE
    Github熟悉一
    man uname
    第一轮铁大树洞APP开发冲刺(2)
    第九周学习进度
    第九周安卓开发学习总结(3)
    第一轮铁大树洞APP开发冲刺(1)
    第九周安卓开发学习总结(2)
    第九周安卓开发学习总结(1)
  • 原文地址:https://www.cnblogs.com/huangfox/p/2220370.html
Copyright © 2011-2022 走看看