运行GAE devserver时,jsessionID会附加到url

时间:2013-10-30 09:46:11

标签: google-app-engine java-ee jsessionid devserver

由于某些原因,当我访问部署到GAE devserver的应用时,会将;jsessionid=SESSION_HERE这样的字符串添加到网址中。

这会让事情变得混乱,因为对于某些网址来说,根本无法将其解析为GET参数(有时它最终会显示为:http://localhost:8080/someurl;jsessionid=0000)。

我的webapp配置很简单,我使用maven和appengine-maven-plugin像这样运行devserver:

mvn appengine:devserver

这是什么原因以及如何删除?

1 个答案:

答案 0 :(得分:13)

添加:

<context-param>
    <param-name>org.mortbay.jetty.servlet.SessionURL</param-name>
    <param-value>none</param-value>
</context-param>

...到你的web.xml。请在jetty session documentation中了解详情。

注意:GAE在Jetty 6.1上运行。在任何人遇到与新Jetty版本相同的问题时,配置参数的命名方式不同,请参阅Jetty 9 session management

  
      
  • org.eclipse.jetty.servlet.SessionIdPathParameterName

  •   
  • <强> JSESSIONID

  •   
  • 会话URL参数名称。默认为jsessionid,但可以使用此上下文参数为特定Web应用程序设置。设置为“none”以禁用URL重写。

  •