我看到一篇不错的,用来解决分布式中的session问题的博客,转载收藏一下,链接在下面:
https://blog.csdn.net/jack199504/article/details/90547185
这里再补充一下session创建的过程。
当我们把浏览器刚打开时, 访问网址, 这个时候tomcat会给浏览器创建了一个session(服务器是存储在内存,也可以放在file、redis等进行持久化),并生成并返回客户端一个JSESSIONID, 这个JSESSIONID被放在了cookie中,此时JSESSIONID成为了用户访问Tomcat 会话识别标志。
如果客户端此时再访问服务端,会带着sessionid到服务端,tomcat服务端根据这个sessionid去找到session(session里面会带有其他信息),如果客户端删掉了sessionid(比如删掉了cookie会顺带把sessionid删掉,但是记住,session是不会被删掉,它还在服务器的内存中安详的生存着)而导致没有sessionid,那么服务端会因找不到而重新创建一个。
具体的可以参考: