在运行GAE开发服务器时,会在URL后添加jsessionID。

8
由于某些原因,当我访问部署在GAE开发服务器上的应用程序时,字符串“;jsessionid = SESSION_HERE”会被添加到URL中。
这会造成问题,因为对于其中一些URL,它根本就无法解析为GET参数(有时会得到类似于"http:// localhost:8080 / someurl; jsessionid = 0000"的URL)。
我的web应用程序配置很简单,我使用maven和“appengine-maven-plugin”来运行devserver,如下所示:
mvn appengine:devserver

这是什么原因,以及如何去除它?
1个回答

13

添加:

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

将配置添加到您的 web.xml 文件中。有关详细信息,请参阅Jetty 会话文档

注意:GAE 运行在 Jetty 6.1 上。如果有人在较新的 Jetty 版本中遇到同样的问题,则配置参数名称不同,请参见Jetty 9 会话管理

  • org.eclipse.jetty.servlet.SessionIdPathParameterName

  • jsessionid

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接