`
奥义之舞
  • 浏览: 284927 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cookie用法小结 cookie.setPath

    博客分类:
  • Java
 
阅读更多
javax.servlet.http.Cookie有两个比较重要的方法:setDomain()、setPath()

正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。

1.可在同一应用服务器内共享方法:设置cookie.setPath("/");
本机tomcat/webapp下面有两个应用:webapp_a和webapp_b,
1)原来在webapp_a下面设置的cookie,在webapp_b下面获取不到,path默认是产生cookie的应用的路径。

2)若在webapp_a下面设置cookie的时候,增加一条cookie.setPath("/");或者cookie.setPath("/webapp_b/");
就可以在webapp_b下面获取到cas设置的cookie了。

3)此处的参数,是相对于应用服务器存放应用的文件夹的根目录而言的(比如tomcat下面的webapp),因此cookie.setPath("/");之后,可以在webapp文件夹下的所有应用共享cookie,而cookie.setPath("/webapp_b/");
是指cas应用设置的cookie只能在webapp_b应用下的获得,即便是产生这个cookie的webapp_a应用也不可以。

4)设置cookie.setPath("/webapp_b/jsp")或者cookie.setPath("/webapp_b/jsp/")的时候,只有在webapp_b/jsp下面可以获得cookie,在webapp_b下面但是在jsp文件夹外的都不能获得cookie。

5)设置cookie.setPath("/webapp_b");,是指在webapp_b下面才可以使用cookie,这样就不可以在产生cookie的应用webapp_a下面获取cookie了

6)有多条cookie.setPath("XXX");语句的时候,起作用的以最后一条为准。

2.跨域共享cookie的方法:设置cookie.setDomain(".jszx.com");

A机所在的域:home.langchao.com,A有应用webapp_a
B机所在的域:jszx.com,B有应用webapp_b
1)在webapp_a下面设置cookie的时候,增加cookie.setDomain(".jszx.com");,这样在webapp_b下面就可以取到cookie。

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

3)设置了cookie.setDomain(".jszx.com");,还可以在默认的home.langchao.com下面共享
分享到:
评论
1 楼 b_a_s_i_l 2012-03-08  
我想请问一下 这句话 “在webapp文件夹下的所有应用共享cookie”是什么意思
或者说 如果使用了setpath("/")后这个cookie会保存在webapp 应用项目的下面吗,能找到吗

我试验过 同一应用服务器 如果不设setpath("/") 的话 ,在发送请求中时不会包含COOKIE 的, 设置过以后 是能够共享的, 我猜测 是不是在发出请求的时候 请求会寻找cookie的  路径找到以后 再发出去, 所以在 设置 setPath("/") 就指定了 寻找cookie 的路径 这样才能找到,但是我根据这个路径却 在webapp 里的应用目录中找不到.

相关推荐

    django框架之cookie/session的使用示例(小结)

    这些方法返回的都是HttpResponse对象,可以通过调用`set_cookie()`方法设置Cookie: ```python response.set_cookie(key, value, max_age=None, expires=None, path='/', domain=None, secure=False, httponly=...

    JSP清除页面缓存常用方法小结

    killMyCookie.setPath("/"); // 设置Cookie路径,确保在应用的任何位置都能清除该Cookie response.addCookie(killMyCookie); // 将Cookie添加到响应中 %> ``` 3. 清除Session缓存 Session缓存通常用于保持用户的...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    1.11 小结 36 第2章 xml名称空间 38 2.1 声明名称空间 38 2.2 名称空间在元素和属性中的运用 39 2.2.1 名称空间在元素中的运用 39 2.2.2 默认名称空间 41 2.2.3 名称空间在属性中的运用 42 2.3 名称空间和dtd...

    PHP session会话操作技巧小结

    本文对PHP的session会话操作技巧进行了小结,详细总结了session的原理、配置方法、使用技巧以及相关的注意事项。 首先,session会话操作的核心在于将数据存储于服务器端,并通过浏览器端的cookie来维持用户的会话...

    express express-session的使用小结

    - **cookie 设置**:包括 `domain`、`expires`、`httpOnly`、`path`、`sameSite`、`secure` 和 `maxAge` 等,它们对应于 HTTP 响应头中的 `Set-Cookie` 字段,用于控制 cookie 的行为。 - **genid 函数**:自定义 ID...

    PHP中Header使用的HTTP协议及常用方法小结

    charset=utf-8')`可确保网页内容以UTF-8编码显示,`header('Set-Cookie: name=value; expires=date; path=directory; domain=site.com; secure; HttpOnly')`则用于设置Cookie,控制其有效期、路径、域、安全性和...

    Jetty权威指南.pdf

    通过这些基本操作的学习,用户可以迅速掌握Jetty的基础使用方法。 #### 三、Jetty架构 **3.1 架构概述** Jetty采用了模块化的架构设计,主要包括以下几个核心组件: - **Connector**:负责监听网络连接并接收...

Global site tag (gtag.js) - Google Analytics