java - 如何在 Eclipse 中从本地 Tomcat7 的 URL 中删除 jsessionid

标签 java tomcat7

我有一个 Java Web 应用程序,我使用 Tomcat7 在生产中部署它。 我在生产中使用 Tomcat Web 应用程序管理器页面,在上下文路径“/”中部署 WAR。在生产中,我在 URL 中没有看到 jsessionid

但在我的开发环境中,在 Eclipse 中使用 Tomcat7 启动的同一个应用程序(因此是相同的 web.xml)在 URL 中显示 jsessionid

我的 web.xml 中唯一的 session 配置是:

<session-config>
    <session-timeout>15</session-timeout>
</session-config>

我在 Tomcat7 中看到的唯一区别是 server.xml:

生产:

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

本地:

  <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>
    <Context docBase="MyApp" path="/" reloadable="true" source="org.eclipse.jst.jee.server:MyApp"  />
  </Host>

另一个区别是我在生产中使用 NGinx 从 Tomcat 进行从端口 80 到 8080 的代理传递。

我可能缺少什么?

谢谢

最佳答案

您可能在开发环境中使用不支持(或禁用)cookie 的浏览器或其他客户端。

另一个提示:您可以在 tomcat 7 中使用此代码(在您的 web.xml 文件中):

<session-config>
     <tracking-mode>COOKIE</tracking-mode>
</session-config>

关于java - 如何在 Eclipse 中从本地 Tomcat7 的 URL 中删除 jsessionid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36774531/

相关文章:

java - 如何在 Weblogic 中创建通用组件?

Spring 3.2 长轮询导致 SPRING_SECURITY_CONTEXT 被清除

tomcat - 使用 Jenkins 与 Tomcat7 并行部署

tomcat - 如何在 Tomcat 7.0 中设置 Web 应用程序的上下文路径

java - 使用html转java,如何从坐标中获取街道名称?

java - 如何在 cucumber java中获取场景名称?

java - 当我在 JavaFX 中拖动鼠标时,圆圈不可见

java - 找不到Tomcat部署资源

java - 如何记录Tomcat 7 JDBC连接池、连接创建

java - 使用ip地址和域名的区别