zoukankan      html  css  js  c++  java
  • 跨域读取Cookies

      最近有一个项目需求,大概是这样的:工程Web1中Ext选择定主题后,当访问其上的Web2工程中的页面时也是同样的主题样式,这就要做跨域的Cookies共享。

      但是只能处理同一级域名下的跨域访问,如 a.b.com 和 d.b.com这样的。

    设置域名(xx.xx.xx.xxx)web1.xxx.com/web1   (xx.xx.xx.xxx)web2.xxx.com/web2

    web1中设置Cookies的代码:

    <%
        Cookie[] cookies = request.getCookies();
        if(cookies != null && cookies.length > 0){
            for(int i=0;i<cookies.length;i++){
                Cookie cookie = cookies[i];
                System.out.println("web1----cookie name:"+cookie.getName()+" value:"+cookie.getValue());
                if("theme".equals(cookie.getName())){//如果cookie已存在则删除掉
                    cookie.setPath("/");
                    cookie.setMaxAge(3000);//设置存活周期
                    cookie.setDomain(".xxx.com");
                    response.addCookie(cookie);
                }
            }
        }
        //用java代码创建cookie的方法如下,构造的参数是cookie的name和value
        Cookie cookie = new Cookie("theme","css-theme");
        cookie.setPath("/");
        response.addCookie(cookie);
    %>

    web2中读取Cookies代码:

    <%
        Cookie[] cookies = request.getCookies();
        if(cookies != null && cookies.length > 0){
            for(int i=0;i<cookies.length;i++){
                Cookie cookie = cookies[i];
                System.out.println("web2----cookie name:"+cookie.getName()+" value:"+cookie.getValue());
                if("theme".equals(cookie.getName())){//如果cookie已存在则删除掉
                    cookie.setMaxAge(0);
                    response.addCookie(cookie);
                }
            }
        }
    %>

    运行Web1,我们发现Cookies信息如下:

    运行Web2,我们发现Cookies信息如下:

    可以看到读取到了同一个Cookie。

  • 相关阅读:
    mysql多表查询
    mysql单表查询
    第四篇: 记录相关操作
    第4章-1.生成3的乘方表 (15分)
    第3章-17.输出10个不重复的英文字母 (50分)
    第3章-22.判断两个字符串是否为变位词 (40分)
    第3章-21.输出大写英文字母 (15分)
    第3章-20.判断回文字符串 (15分)
    第3章-19.逆序的三位数 (10分)
    第3章-18.找最长的字符串 (15分)
  • 原文地址:https://www.cnblogs.com/tzhz/p/3524000.html
Copyright © 2011-2022 走看看