gpt4 book ai didi

java - Firefox 私有(private)窗口上的 session 无效

转载 作者:行者123 更新时间:2023-11-30 03:04:29 25 4
gpt4 key购买 nike

我正在测试环境中测试一个 Web 应用程序,当我尝试从 Firefox 上的私有(private)窗口打开它时,返回一个空白页面,日志显示:

java.lang.IllegalStateException: Session was invalidated
16/02/02 14:45:17 at com.evermind.server.http.EvermindHttpSession.getId(EvermindHttpSession.java:467)
16/02/02 14:45:17 at cm.listener.SessionListener.sessionCreated(SessionListener.java:14)
16/02/02 14:45:17 at com.evermind.server.http.HttpApplication.createSession(HttpApplication.java:1971)
16/02/02 14:45:17 at com.evermind.server.http.EvermindHttpServletRequest.unprivileged_getSession(EvermindHttpServletRequest.java:2772)
16/02/02 14:45:17 at com.evermind.server.http.EvermindHttpServletRequest.getSession(EvermindHttpServletRequest.java:2661)
16/02/02 14:45:17 at com.evermind.server.http.EvermindHttpServletRequest.getSession(EvermindHttpServletRequest.java:2655)
16/02/02 14:45:17 at utilities.AdsServerFilter.doFilter(AdsServerFilter.java:39)

抛出异常的行如下:

HttpSession session=httpRequest.getSession();

应用程序的生产版本在私有(private)窗口上运行良好..

据我所知,私有(private)窗口仅提供一个新的私有(private) session ,如果没有找到现有 session ,httpRequest.getSession() 也会返回一个新 session ...有什么帮助吗?

我使用的是 Firefox 26(并且我无法更新它以使其继续支持 GWT 扩展)

最佳答案

这与 GWT 无关,但如果您尝试使 session 无效,则这是 servlet session 工作方式的一部分,然后在同一请求中返回使用它。

从 HttpSession 的 javadoc(可在 https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpSession.html 等处获取)中,invalidate() 方法会破坏 session 上调用的几乎所有其他方法,包括它本身:

invalidate

public void invalidate()

Invalidates this session then unbinds any objects bound to it.

Throws: java.lang.IllegalStateException - if this method is called on an already invalidated session

您可以从堆栈跟踪中看到,由于尝试创建 session ,OC4J 服务器内部的某些内容正在调用 session 上的 getId()。该方法也有同样的异常:

getId

public java.lang.String getId()

Returns a string containing the unique identifier assigned to this session. The identifier is assigned by the servlet container and is implementation dependent.

Returns: a string specifying the identifier assigned to this session

Throws: java.lang.IllegalStateException - if this method is called on an invalidated session

现在的问题是“为什么您的 session 已经失效?” - 您是否也在同一个请求中的代码中的其他点调用 invalidate ?或者 OC4J 中是否存在无法为私有(private)浏览器创建新 session 的错误?

关于java - Firefox 私有(private)窗口上的 session 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35154727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com