日期:2014-05-20  浏览次数:20687 次

session在ie6下见鬼了!!!
问题:
使用ie6浏览器,点击下边的超链接
<a target="_blank"href="${pageContext.request.contextPath}/company_manage.action?groupId=${u.id}">应急资源</a>
打开的新窗口直接跑到了登录页面,跟了一下代码,原来是拦截器判断session已经失效了,所以直接转向登录页面,请教各位没有办法可以正常使用该链接呢?

------解决方案--------------------
struts配置文件里面 直接对该方法不进行验证
<param name="excludeClassAndMethods">
company_manage.action
</param>
------解决方案--------------------
session 不会无故消息的,请检查,你的页面是否停留超时,浏览器端是不是禁用了cookie,你的A链接指向的页面是否和当前页面在同一个域同一个服务器下面?
------解决方案--------------------
探讨
关键是现在session为空了,那个action里面还要用到session中用户的东西

------解决方案--------------------
探讨
关键是现在session为空了,那个action里面还要用到session中用户的东西

------解决方案--------------------
你确定是
<a target="_blank"
ie6在target="固定名称"的情况下可能会出现此问题。

由于JSESSIONID这个cookie是会话型的,每个ie6进程的JSESSIONID可以分开的。
比如进程1先打开了一个叫做myWindow的窗口,然后再在进程2里面也调用了<a target="myWindow",结果ie6会利用现有的myWindow,也就是父窗口是进程1,子窗口是进程2,两者JSESSIONID不一致,导致“session过期”这种假象
------解决方案--------------------
session 是否超时,浏览器端是否禁用了cookie
------解决方案--------------------
探讨
只要传递一个SESSIONID就可以了,你连接的时候从request中sessionID,作为参数传递就可以了。

------解决方案--------------------
你还是找下,session失效的原因吧
------解决方案--------------------
有没有看我上面的回复?
你确认一下target是不是_blank,如果是_blank,应该不会出现这种问题。