8

;jsessionid=SESSION_HERE出于某种原因,当我访问部署到 GAE 开发服务器的应用程序时,字符串会被添加到 url。

这使事情变得混乱,因为对于某些 url,它根本不能被解析为 GET 参数(有时它以 url 结尾:)http://localhost:8080/someurl;jsessionid=0000

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

mvn appengine:devserver

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

4

1 回答 1

13

添加:

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

...到你的web.xml. 在jetty session 文档中阅读更多信息。

注意:GAE 在 Jetty 6.1 上运行。如果任何人在使用较新的 Jetty 版本时遇到相同的问题,配置参数的名称会有所不同,请参阅Jetty 9 会话管理

  • org.eclipse.jetty.servlet.SessionIdPathParameterName

  • jsessionid

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

于 2013-10-30T18:10:43.987 回答