web应用会话之多个tomcat如何实现共享
来源:互联网 发布:58网络公关公司 编辑:程序博客网 时间:2024/05/19 23:00
面试问题
今天面试被问到了一个关于Tomcat之间如何实现信息共享的问题,大致是:tomcat下两个Java web,一个是商城,一个是直播,从商城登录后,再跳转到直播,发现处于非登录状态。
想到的解决思路
- 将session抽出来成一个session服务,统一通过该服务操作session。
- tomcat内部用会话管理器获取会话时遍历所有context内的会话。
方案1
重写获取session方法即可。
方案2
找了源码发现已经支持类似遍历所有context内的会话的形式,首先获取session时,如果cressContext属性为true,则会在获取不到时尝试遍历所有context是否存在该sessionid,如果存在则在本context根据sessionid创建自己的session对象。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
context(web应用)获取跨应用session时通过类似下面操作获取:
- 1
- 1
这是因为request会根据cookies的sessionid获取到session对象,这时不会报找不到,因为前面已经根据其他sessionid创建了一个session对象,然后getContext操作会获取对应url的context,接着进行会话操作。
阅读全文
0 0
- web应用会话之多个tomcat如何实现共享
- tomcat如何共享多个web应用会话
- 同一Tomcat下不同Web应用之间共享Session会话
- Java Web 中application(应用级) session(会话级) request(请求级)如何实现数据共享
- 同一个tomcat多个web应用共享session
- 同一个tomcat多个web应用共享session
- 同一个tomcat多个web应用共享session
- 同一个tomcat多个web应用共享session
- memcached实现多个web应用session共享
- apache+多个tomcat+memcached共享session会话(windows篇)
- Keepalived+nginx+redis主从+tomcat一机多实例实现会话共享
- 多个Tomcat共享一个应用文件夹
- 关于同一tomcat服务器下2个不同的web项目如何共享session的问题
- tomcat多应用之间如何共享jar
- tomcat多应用之间如何共享jar
- N个tomcat之间实现Session共享
- 多个Tomcat之间实现Session共享
- N个tomcat之间实现Session共享
- 论Java的重要性
- 快速排序的不同语言不同方法实现的…
- 快速排序的不同语言不同方法实现的…
- hdu6053-莫比乌斯反演
- 快速排序的不同语言不同方法实现的…
- web应用会话之多个tomcat如何实现共享
- atitit 项目管理 持续集成 构建管理CI jenkins.docx
- 19. Remove Nth Node From End of List
- HDU1827:Summer Holiday(缩点 & 贪心)
- warmup-实验吧
- java 内省机制
- 不忘初心 方得始终
- (Vue2.0)axios与vuex中actions结合使用的实现
- HDU --- 1016 素数环 【简单深搜】