相关疑难解决方法(0)

tomcat中的空会话路径是什么?

我前一天读过apache tomcat文档,我很困惑emptySessionPath.据我所知,如果设置为true,emptySessionPath则存储在Web应用程序的根文件夹中.请给出正确的术语定义, emptySessionPath如果设置为真和假,会发生什么?

请指导我.谢谢.

java webserver tomcat connector tomcat6

6
推荐指数
2
解决办法
1万
查看次数

如何防止Jetty/GAE为不同的上下文路径创建新会话?

我有一个托管的应用程序,它使用许多不同的servlet路径.似乎Jetty(GAE使用)为请求URL中的每个上下文路径创建一个新会话.

例:

  1. abc.appspot.com/

  2. abc.appspot.com/path2/hello

每条路径都使用两个不同的会话.有什么方法可以阻止这种情况吗?我遇到了以下配置,可以在Jetty服务器的web.xml文件中使用:

<context-param> <param-name>org.eclipse.jetty.servlet.SessionPath</param-name> <param-value>/</param-value> </context-param>

它对我没有用,我做错了还是不可能?我听说在Tomcat中这是可能的.

java session google-app-engine jetty

6
推荐指数
1
解决办法
249
查看次数

具有&lt;path&gt; / &lt;/ path&gt;和JSESSIONID的cookie

我在我的应用程序的web.xml设置Cookie路径(如建议尝试在这里)到:

<session-config>
    <cookie-config>
        <path>/</path>
    </cookie-config>
</session-config>
Run Code Online (Sandbox Code Playgroud)

因此,我分别向localhost:8080/application-a和部署了两个相同的Web应用程序localhost:8080/application-b

每个应用程序都是一个servlet:

public class ControllerServlet extends HttpServlet{
  @Override
  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
      HttpSession session = req.getSession(false);

      if (session == null) {
          session = req.getSession(true);
          System.out.printf("No session was present - new one created with JSESSIONID=[%s]\n", session.getId());
      } else {
          System.out.printf("JSESSIONID cookie was present and HttpSession objects exists with JSESSIONID=[%s]\n", session.getId());
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

我将应用程序部署到Tomcat 8.5容器(与Tomcat 9进行了尝试,并且行为相同)。当我使用浏览器访问时application-a,会看到以下内容:

在此处输入图片说明

……在Tomcat日志上,我读到:

No session was present …
Run Code Online (Sandbox Code Playgroud)

java cookies session tomcat

5
推荐指数
1
解决办法
1万
查看次数