debug时候,两个tomcat,哪个断点都没进是为什么啊

来源:6-11 单点登录Redis存储Session及SessionId问题说明与集群实战-1

小刘呀

2018-04-01

我使用的war包,然后路径是带mmall后缀的

还有

private final static String COOKIE_NAME = "liuxiangru_login_token";

public static void writeLoginToken(HttpServletResponse response,String token) {
    Cookie ck = new Cookie(COOKIE_NAME,token);
    ck.setDomain(COOKIE_DOMAIN);
    //webapp下边的所有项目都可以获取此ck
    ck.setPath("/");
    ck.setHttpOnly(true);
    //单位是秒。
    //如果这个maxage不设置,就不会写入硬盘,只在当前页面有效
    //-1 代表永久
    ck.setMaxAge(60 * 60 * 24 * 365);
    log.info("write cookieName:{},cookieValue:{}",ck.getName(),ck.getValue());
    response.addCookie(ck);
}

cookiename 是 liuxiangru_login_token ,但是浏览器里边存的是JSESSIONID 还存了两个,应该是一个原有,一个刚加进去的,是因为缓存还是啥啊,要是能debug还能看看这也看不了

写回答

4回答

Geely

2018-04-01

你好,亲爱的同学。浏览器里有截图发上来么,你是远程debug还是本地debug。如果都没进,尝试请求某个端口的服务看看,是否可以进断点?先排除一下。

浏览器里边存的是JSESSIONID 还存了两个--

这个截图可以发一下么。

这个问题还真不确定是不是tomcat8.5的机制。。。

可以恢复到课程版本排除一下看看,因为tomcat大版本之间差距还是挺大的。

刷新的时候jsessionid变化没关系,主要是看你的cookie 服务于单点登录的是否种植进去。

0
1
小刘呀
嗯 ,刚看了看 那时候强行关闭了,没有点骷髅头,端口就被占用了,然后 我在idea编辑tomcat端口地方随便改了一个不是nginx转发的端口,然后就没进debug,然后杀掉进程,改成8080、9080就能debug了,jsessionid虽然还是没变,但是debug是分别打再两个tomcat上了,应该没问题了
2018-04-01
共1条回复

Geely

2018-04-02

@委员长 哦了,解决了就好,赞一个。

1
0

小刘呀

提问者

2018-04-01

geely老师你的,tomcat1和2是同一个tomcat还是两个啊,我是两个8.5的,而且项目加了后缀(mmall),是在webapp下边,不在ROOT下边.

删了target目录,重新构建jar包后,方法已经能正常运行了,但是Debug还是进不去。

获取用户信息的时候只会打到一个tomcat上边(token不变,JSESSIONID不变),在首页(富文本页面)刷新的时候JSESSIONID才会变。这是8.5的问题还是缓存相关的,要是8.5我就重新换回去了。

0
0

小刘呀

提问者

2018-04-01

 111

0
0

Java企业级电商项目架构 Tomcat集群与Redis分布式

Tomcat集群+Redis分布式+代码重构+源码原理解析

2685 学习 · 947 问题

查看课程