当前位置: 网学 > 编程文档 > JAVA > 正文

实现二级域名session共享的两种方法

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/08/04
;true"/> <!--这句话需要添加,不加可能报错-->    <!-- Default set of monitored resources -->    <WatchedResource>WEB-INF/web.xml</WatchedResource> <Manager className="org.apache.catalina.session.MemcachedManager" serverlist="192.168.2.194:12000"  snaidPerfix="snaid" snaidFlag="true"></Manager> </Context>经过以上的修改,tomcat对session的操作会自动使用org.apache.catalina.session.MemcachedManager 来替代。2,修改tomcat源码,使tomcat在向客户端setcookie的时候,设置cookie的作用域为全站。这样可以所有的tomcat共用一个JSESSIONID。修改org.apache.catalina.connector.Request.java/**     * Configures the given JSESSIONID cookie.     *     * @param cookie The JSESSIONID cookie to be configured     */    protected void configureSessionCookie(Cookie cookie) {        cookie.setMaxAge(-1);        String contextPath = null;        if (!connector.getEmptySessionPath() && (getContext() != null)) {            contextPath = getContext().getEncodedPath();        }        if ((contextPath != null) && (contextPath.length() > 0)) {            cookie.setPath(contextPath);        } else {            cookie.setPath("/");        }        //added by sufeng,make tomcat jsessionid cross docin.com        if (null != System.getProperty("sessionShareDomain") && !"".equals(System.getProperty ("sessionShareDomain")))            cookie.setDomain(System.getProperty("sessionShareDomain"));        //added by sufeng end        if (isSecure()) {            cookie.setSecure(true);        }    }sessionShareDomain=sufeng.com重新访问,会发现,JSEESIONID的作用域变成了sufeng.com,这样在两个子域的tomcat服务器可以共享同一个sessionid,并通过相同的sessionid到memcache中取session数据。不对tomcat源码进行修改,两个二级域的tomcat将分别生成不同的JSESSION值,并且作用域是自己的二级域名。

  • 上一篇资讯: 彻底理解java String
  • 下一篇资讯: java中的Serializable接口
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号