有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

tomcat webapp内部的java转发:会话未过期

我有一个Web服务,它可以非常简单地转发到位于同一Tomcat容器上的另一个Web应用

private Response forward(
        @Context ServletContext context,
        @Context HttpServletRequest request,
        @Context HttpServletResponse response){
    ServletContext ctx = context.getContext("/myothewebapp");   
    RequestDispatcher dispatcher=ctx.getRequestDispatcher("/test");
    dispatcher.forward(request, response);
    return Response.ok("").build();
}

除了此webapp的会话未过期之外,这一切都可以正常工作。在tomcat管理器中,您可以看到,打开的会话积累得相当快,多达数百个

我不知道为什么在已经发送响应的情况下它们会持续。 你知道我的前进方法缺少什么吗


共 (1) 个答案

  1. # 1 楼答案

    Why they last when the response is already sent.

    为什么您认为在发送响应后会话将无效

    只有在会话超时或您使用以下命令强制使会话无效时,它才会失效:

    Session#invalidate() method