跨域讀取Cookies

  最近有一個項目需求,大概是這樣的:工程Web1中Ext選擇定主題後,當訪問其上的Web2工程中的頁面時也是一樣的主題樣式,這就要作跨域的Cookies共享。css

  可是隻能處理同一級域名下的跨域訪問,如 a.b.com 和 d.b.com這樣的。java

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

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

<%
    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信息以下:spa

運行Web2,咱們發現Cookies信息以下:code

能夠看到讀取到了同一個Cookie。blog

相關文章
相關標籤/搜索