当前位置:首页 > 开发 > Web前端 > 前端 > 正文

客户端禁止了cookie

发表于: 2012-05-08   作者:cywhoyi   来源:转载   浏览次数:
摘要:     Java Servlet API 中引用 Session 机制来追踪客户的状态。Servlet API 中定义了 javax.servlet.http.HttpSession 接口,Servlet 容器必须实现这个接口。当一个 Session 开始时,Servlet 容器将创建一个 HttpSession 对象,Servlet 容器为 HttpSession 分配一

 

 

Java Servlet API 中引用 Session 机制来追踪客户的状态。Servlet API 中定义了 javax.servlet.http.HttpSession 接口,Servlet 容器必须实现这个接口。当一个 Session 开始时,Servlet 容器将创建一个 HttpSession 对象,Servlet 容器为 HttpSession 分配一个唯一标识符,称为 Session IDServlet 容器将 Session ID 作为 Cookie 保存在客户的浏览器中。每次客户发出 HTTP 请求时,Servlet 容器可以从 HttpRequest 对象中读取 Session ID,然后根据 Session ID 找到相应的 HttpSession 对象,从而获取客户的状态信息。 
   
当客户端浏览器中禁止 CookieServlet 容器无法从客户端浏览器中取得作为 Cookie Session ID,也就无法跟踪客户状态。 
    Java Servlet API
中提出了跟踪 Session 的另一种机制,如果客户端浏览器不支持 CookieServlet 容器可以重写客户请求的 URL,把 Session ID 添加到 URL 信息中。 
    HttpServletResponse
接口提供了重写 URL 的方法:public java.lang.String encodeURL(java.lang.String url) 
  
该方法的实现机制为: 
    ●
先判断当前的 Web 组件是否启用 Session,如果没有启用 Session,直接返回参数 url 
    ●
再判断客户端浏览器是否支持 Cookie,如果支持 Cookie,直接返回参数 url;如果不支持 Cookie,就在参数 url 中加入 Session ID 信息,然后返回修改后的 url 
   
我们可以对网页中的链接稍作修改,解决以上问题: 
   
修改前: 
        <a href=“maillogin.jsp“> 
  
修改后: 

        <a href=“<%=response.encodeURL(“maillogin.jsp“)%>“>

客户端禁止了cookie

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
上一篇博文中,讲到用cookie实现简单的购物车,但是有的用户,会因为不小心把cookie给禁止了,如果
今天去面试,被问到浏览器禁止了Cookie后,Session还能继续使用吗?当时很自信的说当然不能用了,把
3 cookie
什么是Cookies? Cookies是一些小文件,它们被创建在客户端的系统里,或者被创建在客户端浏览器的内
4 Cookie
cookie的过程: 1、服务器向客户端发送cookie 2、浏览器将cookie保存 3、之后每次请求浏览器都会将c
5 cookie
开始做cookie方面的工作了,这几天对cookie也有了一个大概的了解,每个域都有自己的cookie,而且coo
6 Cookie
有时候为了减少服务器的频繁访问,使用cookie是有必要的,这样只要用户访问一次,就可以把访问的历史
阅读目录 开始 Cookie 概述 Cookie的写、读过程 使用Cookie保存复杂对象 Js中读写Cookie Cookie在Se
阅读目录 开始 Cookie 概述 Cookie的写、读过程 使用Cookie保存复杂对象 Js中读写Cookie Cookie在Se
原文地址: http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.html Cookie虽然是个很简
马士兵老师的~~ cookie是服务器将信息保存在客户端的一个表示方式 名-值 服务器只能写入文档文件 每
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号