【问题标题】:Multiple HTTP Session created创建了多个 HTTP 会话
【发布时间】:2015-05-04 10:50:37
【问题描述】:

一些客户报告了在 Internet Explorer 6 和 8 中创建多个 http 会话的问题。但是在使用 firefox/chrome 时没有观察到这种情况。这个问题也是随机出现的。

此外,我们在使用 IE 6/8 版本的系统中也没有看到相同的情况。

以下内容已在 web.xml 中定义

<!-- Listen to events of HTTP session creation and deletion -->
<!-- Introduced as part of the correction for FR: DW1694 -->
<listener>
    <listener-class>helper.SessionListener</listener-class>
</listener>

HTTPSessionListener:

// sessions getting created
public void sessionCreated(HttpSessionEvent event)
{
    //adding the session to map
    SessionMap.addSession(event.getSession());
    logger.debug("HTTP Session created: ", event.getSession().getId());
}

我们在日志中看到以下内容

instance1 2015-03-03 10:50:28,215 DEBUG (SessionListener.java:sessionCreated:24) [TP-Processor19] | HTTP Session created: A60B2EB1B46B1CE5271BE5B15B16D593
instance1 2015-03-03 10:50:28,283 DEBUG (SessionListener.java:sessionCreated:24) [TP-Processor19] | HTTP Session created: EFEE74A6D2C07543862FB121CF80B53A
instance1 2015-03-03 10:50:28,287 DEBUG (SessionListener.java:sessionCreated:24) [TP-Processor21] | HTTP Session created: 942FBB9B8449D5AC2B601469B70FAFB9
instance1 2015-03-03 10:50:28,307 DEBUG (SessionListener.java:sessionCreated:24) [TP-Processor19] | HTTP Session created: 51752544F3249834D84F6266E0E5A613
instance1 2015-03-03 10:50:28,315 DEBUG (SessionListener.java:sessionCreated:24) [TP-Processor19] | HTTP Session created: 7811007F8C6367862DC03F10E301F3CA
instance1 2015-03-03 10:50:28,355 DEBUG (SessionListener.java:sessionCreated:24) [TP-Processor19] | HTTP Session created: F702D5F5FD59DC9390CBE3405FCD03B0
instance1 2015-03-03 10:50:28,363 DEBUG (SessionListener.java:sessionCreated:24) [TP-Processor19] | HTTP Session created: 616894DF984EA171BD7DFC304460AF25
instance1 2015-03-03 10:50:30,347 DEBUG (SessionListener.java:sessionDestroyed:33) [TP-Processor19] | HTTP Session destroyed: 616894DF984EA171BD7DFC304460AF25

请注意,会话是连续创建的。我们无法重现该系统,但它似乎出现在某些客户系统中。

流量超过 https,因此我也无法捕获 wireshark 跟踪。

有什么想法吗?什么可能导致多次创建?

【问题讨论】:

  • 欢迎来到 Stack Overflow!我编辑了您问题的格式,以便有更大的机会得到回答。此外,没有人关注httpsession 标签:添加相关标签会增加看到您问题的相关人员的数量。祝你好运!

标签: java session servlets https httpsession


【解决方案1】:

我遇到过类似的情况,其中有多次通过 Javascript 向服务器提交,因此逻辑被执行了两次。

罪魁祸首是没有添加 return false;在 javascript 方法中的 form.submit() 之后。

服务器代码似乎很干净,我怀疑客户端应该多次点击服务器。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-04
  • 2019-03-03
  • 2014-09-17
  • 2018-08-08
  • 1970-01-01
相关资源
最近更新 更多