`
wanxiaotao12
  • 浏览: 457351 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cookie中的路径、cookie共享

    博客分类:
  • J2ee
 
阅读更多

一、路径设置

1、默认路径:如果程序没有通过cookie.setPath()的方法设置cookie路径,则是以前访问的路径作为cookie的路径,

如:webapp/Test/aa/bb/index.jsp, 在index.jsp中新增一个cookie, 默认路径,则系统会将cookie的路径自动设置/localhost/Test/aa/bb/,

2、设置路径:cookie.setPath("/Test/aa/bb/"),注意:以/开头, 是绝对路径,必须以/结尾, Test是webapp下的项目名称,如果设置为/, 则webapp下的其他项目也可读取到cookie

 

 

Cookie cookie = new Cookie("userName", "wanxiaotao");
cookie.setMaxAge(1*24*60*60);
cookie.setPath("/");
response.addCookie(cookie);
 

 

二、cookie的读取:

cookie的读取,默认读取当前请求路径的cookie, 如:http://localhost:8080/Test/aa/bb/index.jsp, 则读取/Test/aa/bb/ 路径对应的cookie,如果在/Test/aa/bb/取不到值, 则会/Test/aa/路径下, 找对应的cookie

 

 

Cookie cookies[] = request.getCookies() ;
Cookie c = null ;
if(cookies != null){
    for(int i=0;i<cookies.length;i++){
        c = cookies[i] ;
        out.println("cookie name = " + c.getName() + ", value="+ c.getValue() + ", path="+c.getPath()+", maxage=" +c.getMaxAge()+ "<br>");
    }
}
 

三、删除Cookie

 

  Cookie cookie = new Cookie("key", null);

 

  cookie.setMaxAge(0);

 

  设置为0为立即删除该Cookie;

 

  cookie.setPath("/test/test2");

 

  删除指定路径上的Cookie,不设置该路径,默认为删除当前路径Cookie;

 

  response.addCookie(cookie);

 

  注意:假设路径结构如下

 

  test/test2/test345/test555/test666

 

  a.相同键名的Cookie(值可以相同或不同)可以存在于不同的路径下。

 

  b. 删除时,如果当前路径下没有键为"key"的Cookie,则查询全部父路径,检索到就执行删除操作(每次只能删除一个与自己最近的父路径Cookie)   FF.必须指定与设定cookie时使用的相同路径来删除改cookie,而且cookie的键名不论大写、小写或大小混合都要指定路径。IE.键名小写时,如果当前路径为/test/test2,如果找不到再向上查询/test、/test555、/test345,如果还找不到就查询 /(/test555/test666不查询) 。键名大小写混合或大写时,不指定路径则默认删除当前路径,并且不向上查询。

 

  c.读取Cookie时只能读取直接父路径的Cookie。如果当前路径为/test/test2,要读取的键为“key”。当前路径读取后,还要读取/test,/test读取后,还要读取/ 。

 

  d.在做Java的web项目时,由于一般的Web服务器(如Tomcat或Jetty)都用Context来管理不同的Web Application,这样对于每个Context有不同的Path,在一个Server中有多个Web Application时要特别小心,不要设置Path为/的Cookie,容易误操作(当然前提是域名相同) 。

 

四、cookie.setDomain(".jszx.com") : 跨域共享cookie的方法

A机所在的域:home.langchao.com,A有应用cas 

B机所在的域:jszx.com,B有应用webapp_b 

1)在cas下面设置cookie的时候,增加cookie.setDomain(".jszx.com");,这样在webapp_b下面就可以取到cookie。 

2)这个参数必须以“.”开始。 

3)输入url访问webapp_b的时候,必须输入域名才能解析。比如说在A机器输入:http://lc-bsp.jszx.com:8080/webapp_b,可以获取cas在客户端设置的cookie,而B机器访问本机的应用,输入:http://localhost:8080/webapp_b则不可以获得cookie。 

4)设置了cookie.setDomain(".jszx.com");,还可以在默认的home.langchao.com下面共享。 

5)设置多个域的方法??

 

分享到:
评论

相关推荐

    javascript中cookie对象用法实例分析

    本文实例讲述了javascript中cookie对象用法。分享给大家供大家参考。具体如下: 属性 name 唯一必须设置的属性,表示cookie的名称 expires 指定cookie的存活周期,如不设置,浏览器关闭自动失效 path 决定cookie...

    asp.net Cookie跨域、虚拟目录等设置方法

    (这里指的是泛域名) 这样在其它二级域名下就都可以访问到了, ASP 和 ASP.NET 测试通过 虚拟目录下访问: 我在ASP端做了下测试,.NET的没试, 如果不指定Path属性, 不同虚拟目录下Cookie无法共享 将Response....

    cookies-sharing-extension:该工具包包括带有扩展名的源代码和一个包含安全cookie的部署存储服务器。

    从导出Cookie的时间起24小时后,该Cookie路径将被删除(根据开发人员的意愿设置时间,默认情况下为24小时)。 使用的技术: 扩展名:HTML,布尔玛,Javascript 服务:NodeJS,Express,Firebase 如何使用: ...

    java-servlet-api.doc

    客户端选择不加入Session,例如,如果客户端拒绝接收来自服务器的cookie 作为一个Servlet的开发者,你必须决定你的Web应用是否处理客户机不加入或不能加入Session。服务器会在Web服务器或Servlet规定的时间内维持一...

    FastAPI 框架精讲

    https://github.com/liaogx/fastapi-tutorial### 课程12个核心技术点1. 了解 FastAPI 框架特性,相对 Django/Flask 的优势2.... FastAPI 中跨域资源共享 CORS 的原理和实现方式12. 如何编写后台任何和测试用例

    免费电脑清理工具软件diskcleaner

    删除未使用和旧条目的高级功能,包括文件扩展,ActiveX控件,ClassID,ProgID,卸载程序, 共享DLL,字体,帮助文件,应用程序路径,图标,无效快捷方式等... 第三方应用程序 从许多应用程序中删除临时文件和最新...

    session 加入mysql库的方法

    (1)当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中。 (2)首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量。 (3)当执行PHP脚本时,通过使用session_...

    privacy-model:潜在的Web隐私模型

    由于3p Cookie,iframe中的存储等原因,此标识扩展到了顶级网站。 浏览器中信息的传递,在网页上同时发生的各方之间(通过诸如DOM或JS中的共享状态,HTTP重定向或postMessage之类的机制)进行。 这种结合导致了...

    ASP.NET.4揭秘 卷2

    n244 在浏览器cookie中缓存角色 n245 使用Roles API n25 小结n第二部分nbsp 创建ASPNET应用程序 n第3章 维护应用程序状态 n31 使用浏览器cookie n311 cookie的安全性限制 n312 创建cookie n313 读取cookie n314 设置...

    ASP200问.EXE

    52.如何判断网站的虚拟物理路径 53.如何解决URL含有特殊字符引发的错误 第4章 ASP组件 55.如何使用Browser Capabilities组件获取浏览器信息 56.如何使用Ad Rotator组件实现页面导航 57.如何使用Content Linking...

    cors-proxy:Servlet代理代理访问,通常需要CORS,而在遗留浏览器存在无法完全实现的问题(例如会话控制)的情况下

    安装包括导出身份验证密钥目标地址证书,在servlet配置属性中配置访问数据,将jar添加到类路径并在应用程序web.xml中对其进行配置。 #### Classpath只需将jar放在Web应用程序的类路径中或使用maven: ...

    SpringMVC-Mybatis-Shiro-redis-master 权限集成缓存中实例

    三、删除了配置文件中的cookie写入域的问题。 在配置文件里(spring-shiro.xml )中的配置有所修改。 &lt;!-- 会话Cookie模板 --&gt; &lt;!--cookie的name,我故意取名叫xxxxbaidu --&gt; &lt;!--cookie...

    李兴华 java_web开发实战经典 源码 完整版收集共享

    6.6.1、取得虚拟目录对应的绝对路径 6.6.2、范例讲解:网站计数器 6.6.3、查看application范围的属性 6.7、WEB安全性及config对象 6.7.1、WEB安全性 6.7.2、config对象 6.8、out对象 6.9、pageContext对象 ...

    JavaWeb实战开发

    请求方式的编码问题、response、请求转发和重定向、cookie、session执行机制、session共享问题? ? ?4.session与cookie问题及application、cookie补充说明及四种范围对象作用域? ? ?5.JDBC原理及使用Statement访问...

    java-property-utils-1.9.1等.zip

    二. tomcat路径下conf/web.xml文件中添加以下内容,可以在原文件中找到标签酌情添加。不要加到开头或者结尾。 &lt;filter&gt; &lt;filter-name&gt;CORS&lt;/filter-name&gt; &lt;filter-class&gt;...

    智睿多选品牌评选系统 v9.8.4.rar

    新增单,多选切换,ADSL防刷,CC防注,时间防注,自动防刷锁IP,COOKIE防注,SQL防注,时间控制,IP封锁,最大有效票数控制,间隔控制,外链控制,票数控制等,更多功能请使用商业版。 智睿多选品牌评选系统说明: ...

    Python Cookbook

    2.20 在Python的搜索路径中寻找文件 88 2.21 动态地改变Python搜索路径 89 2.22 计算目录间的相对路径 91 2.23 跨平台地读取无缓存的字符 93 2.24 在Mac OS X平台上统计PDF文档的页数 94 2.25 在Windows平台上...

    java面试宝典

    150、如何在JSP中包括绝对路径文件? 使用URLConnection即可。 37 151、在servlets和JSP之间能共享session对象吗? 37 152、如何设置cookie在某一时间后过期? 37 153、如何获得当前的sessions数? 37 154、能设置...

Global site tag (gtag.js) - Google Analytics