IFrame在Weblogic9.2下的请求session覆盖的问题,求解
程序员文章站
2022-04-03 19:34:47
...
IFrame在Weblogic9.2下的请求session覆盖的问题, 系统部署到tomat和weblogic10.3版本多正常,session管理没出现问题。唯独weblogic9.2有问题。
求大侠们指点:
首先说明一下:不是weblogic下iframe跨域session丢失的问题而是同一个域下,iframe发出的请求重新生了一个sessionid把原来的请求覆盖掉导致原session丢失的问题。
具体是这样的:我点击登录按钮,产生了一个sessionid,然后登录跳转到一个带有iframe的页面,这个iframe发出请求,在此请求中居然新生成了一个sessionid把原来的那个覆盖掉了。
html:"<iframe name='mainFrame' src='http://192.168.5.220:7001/G4/index.ered?reqCode=preferencesInit' scrolling='auto' frameborder='0' width='100%' height='100%' ></iframe>"
尝试用url重写jsessionid的方法,但依然不起作用:
html:"<iframe name='mainFrame' src='http://192.168.5.220:7001/G4/index.ered;jsessionid=${jsessionid}?reqCode=preferencesInit' scrolling='auto' frameborder='0' width='100%' height='100%' ></iframe>"
后台代码为:
/**
* 获取一个SessionContainer容器,如果为null则创建之
*
* @param form
* @param obj
*/
public static SessionContainer getSessionContainer(
HttpServletRequest request) {
SessionContainer sessionContainer = (SessionContainer) request
.getSession().getAttribute("SessionContainer");
if (sessionContainer == null) {
sessionContainer = new SessionContainer();
HttpSession session = request.getSession(true);
session.setAttribute("SessionContainer", sessionContainer);
}
return sessionContainer;
}