首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

两个系统共用session的有关问题

2012-02-07 
两个系统共用session的问题?服务器tomcat我有两个单独的应用系统A和B,现在是各自有各自的登陆界面,我想让

两个系统共用session的问题?
服务器tomcat  
我有两个单独的应用系统A和B,现在是各自有各自的登陆界面,我想让他们用一个登陆界面能进,再点各自链接进入相应系统,我把登陆也做成了一个系统,用session保存登陆者的信息,但是登陆系统中保存的session不能传到A或B系统中,请问有什么办法可让这几个系统共用session所保存的用户信息

[解决办法]
当setAttribute时,将session中的数据持久化到数据库中。
当getAttribute时,将数据库中的数据写入session中。
[解决办法]
可以试试这个,虽然有点复杂
http://www.blogjava.net/yida/archive/2007/04/03/55466.html
[解决办法]
你可以在从登陆系统中要进入A或B系统时把session中的用户信息取出,保存在request范围内传给AB,而session则消除掉.
不过我不知道你为什么要这样做,有什么好处?
[解决办法]
我觉得session 如果不是特别大,可以存到cookie去,
自己做一个对session的封装,先保存到哪儿都可以
[解决办法]
进入系统后,把session值传给A和B,然后A和B页面setAttribute;
[解决办法]
唯一的方法就是把session中保存的值存到数据库
要不然不可能共同访问的
[解决办法]
我认为,在登陆的页面只要判断:是登陆A还是B,并且把验证的信息传到相应A或B。

然后由A或B进行验证,并把信息保存在session中就可以了。

就是说:把验证和信息的保存,放在具体的系统中做就可以了。
[解决办法]
主要思路應該就是將Session的資料放在一個公用的地方,基本有三种方式了,cookie,公共文件系統和DataBase。
[解决办法]
设置server.xml中<Context>的crossContext属性为TRUE,把应用A的session放到ServletContext中,这样另外一个应用B可以从ServletContext中取得A应用程序的引用。示例代码如下, 
应用程序A 
ServletContext contextA = getServletContext();
contextA.setAttribute("appA", sessionA);
应用程序B 
contextA = context.getContext("/appA"); 
HttpSession sessionA = (HttpSession)contextA.getAttribute("appA");

看下ServletContext.getContext(java.lang.String path)的用法。

记得给分啊



[解决办法]
我们公司有这样的应用

但两个系统之间的跳转只有一个出入口

实现的思路:
A系统做一个跳转至B系统的入口,通过隐藏表单形式或URL带参数的形式将A系统session中的登录对象数据(如登录帐号 姓名等)传至B系统,B系统接收数据后组合为登录对象保存至B系统的session中
B系统也相应做一个这样的跳转至A系统的入口

热点排行