在tomcat webapp中转发:会话未过期

时间:2015-06-04 13:50:04

标签: java tomcat forward

我有一个Web服务,可以很简单地转发到位于同一个Tomcat容器上的另一个webapp。

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 个答案:

答案 0 :(得分:0)

  

为什么他们在响应已经发送时会持续。

为什么您认为会在发送回复后会话无效。

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

Session#invalidate() method