J2EE同域中跨项目session共享实现
来源:互联网 发布:免费php人才招聘系统 编辑:程序博客网 时间:2024/05/01 13:34
J2EE同域中跨项目session共享实现
1、 背景
一个tomcat下跑两个web项目:appA,appB
2、 目的
appA项目中的session设置值能被appB项目获取,反之亦然。
3、 实现思路(以下假设项目appA的session被项目appB共享获取)
1) 设置servlet容器(即tomcat)全局变量,封装项目的session对象集合(是对象,非属性值),一个项目一个全局变量,便于其他项目能获取此全局变量。使用ServletContext对象;
2) 配置servlet容器各项目上下文允许交叉访问,即tomcat\conf\server.xml文件;
3) Session对象集合使用map封装,map集合对象设置进ServletContext全局变量中;
4) 设置Cookie对象,域设置为“/”(即根目录,不能是/appA),保存各登陆用户的sessionID;便于在map集合中能得到该id对应的session对象;
5) 项目appB中利用容器的ServletContext对象获得map集合;
6) 项目appB中读取用户端使用appA项目设置的Cookie集合,找到设置的cookie,得到appA设置的sessionID;
7) 利用从cookie中获得的sessionID遍历map集合,得到appA项目中的session对象;
8) 项目appB完成对项目appA的session共享。
4、 主要代码及设置(以纯jsp方式实现)
1) server.xml
2) 项目结构
3) 项目appA设置session及cookie
4) 项目appB从cookie间接获得appA的session对象及值
5) 效果图
用户1:user_1
用户2:user_2
完成session共享(以上IE不同用户均使用自己的IE)。
作者:xcg9593
- J2EE同域中跨项目session共享实现
- PHP实现同服务器多个二级域名共享 SESSION 数据
- 同服务器下php跨域共享SESSION
- ASP.NET中在不同的子域中共享Session
- ASP.NET中在不同的子域中共享Session
- ASP.NET中在不同的子域中共享Session
- java项目使用memcache实现session共享+session基础
- 同浏览器 不同窗口 共享session 解决
- Nginx+Redis+Tomcat实现负载均衡项目session共享
- 同一个tomcat下两个项目实现session共享
- spring-session实现session共享
- [Session共享]Tomcat集群实现Session共享
- [Session共享]Spring-Redis实现Session共享
- 域中打印机共享添加
- redis实现跨服务器session共享
- Session共享实现方案
- cas实现共享session
- redis实现session共享
- 曝张艺谋与美公司洽谈拍《长城》 章子怡有望加盟
- 一切成功源于积累——20140320 进击的新元 非美 以及黄金
- 为C#应用程序创建Visual Studio安装项目生成MSI包安装程序
- 【学习笔记】Linux基本操作(6)--- Vi文本编辑器
- JavaScript变量作用域
- J2EE同域中跨项目session共享实现
- ListView滑动过程中图片显示重复错位闪烁问题解决
- 工作日志——数据库建表注意事项
- 程序管理
- 一步步学习SPD2010--附录C--使用SP2010管理任务(3)--在SP Server网站激活所有网站模板
- 测试推送时格式问题解决 那个json解析
- ALSA音频工具amixer,aplay,arecord
- 详解协方差与协方差矩阵
- Android详细的对话框AlertDialog.Builder使用方法