论坛首页 Java企业应用论坛

求教不同应用程序共享Session空间问题

浏览 9806 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-07-09  
问题:期望不同的应用程序Http请求共享服务端同一Session空间

方案一:
1、ie正常登录
2、通过Servlet中的Request获取到SessionID
3、通过HttpURLConnection访问需要访问的页面
   把2中获取到的SessionID设置到HttpURLConnection的RequestProperty中

方案二:
1、通过HttpURLConnection访问登录页面,模拟登录,获取JSESSIONID,也就是SessionID
2、通过HttpURLConnection访问需要访问的页面,把1中获取到的SessionID设置到HttpURLConnection的RequestProperty中;


问题:
1、方案二通过,可以正确运行
2、方案一不能通过,共享不了同一Session空间

因为HttpURLConnection也是在servlet中调用的,所以不希望多模拟登录这一部分
方案一是理想的方案,可是不通过,不知道有没有解决过类似问题的朋友,共同探讨
一下
   发表时间:2007-07-09  
为什么要不同应用程序共享Session空间?
0 请登录后投票
   发表时间:2007-07-09  
产品中部分页面字段需要自定义显示,通过数据库配置怕影响性能
所以直接修改jsp源代码,但是对struts来说,jsp不一定都是可
运行的,所以需要通过HttpURLConnection获取访问后的HTML代码
进行配置,然后修改jsp页面中对应标签实现显示或隐藏,同时对
代码侵入较小,对开发人员要求不高,etc.
0 请登录后投票
   发表时间:2007-07-09  
不同的web服务器,方法也有点不一样.不知道你用什么服务器?
0 请登录后投票
   发表时间:2007-07-09  
我用的是tomcat 5.5.23,为什么都是sessionid,serlvet获取到的不行而同样的HttpURLConnection的就可以呢?
0 请登录后投票
   发表时间:2007-07-10  
你打开了第一个应用,然后换了地址,登陆第二个应用?要不用框架把两个应用都打开试试,不行把第一个的隐藏起来.

tomcat服务器我原来是这样实现session共享的.把A应用的session放到context里面.应用B再到context里面来取

应用程序A
context.setAttribute("appA", session);

应用程序B
contextA = context.getContext("/appA");
HttpSession sessionA = (HttpSession)contextA.getAttribute("appA");
0 请登录后投票
   发表时间:2007-07-10  
谢谢楼上,是一个应用,不能分开的
0 请登录后投票
   发表时间:2007-07-10  
同一个war包的应用?那还共享什么session?
0 请登录后投票
   发表时间:2007-07-10  
问题解决,低级错误,cookie的值还包括“JSESSIONID=”
如:JSESSIONID=3CE643B48833AED37ECA9EAD7FC0ECC3xie
一直都是只传sessionid
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics