我有一个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管理器中,您可以看到,打开的会话累积得非常快,最多可达数百个。
我不确定为什么他们会在响应已经发送时持续。 我的前进方法中缺少什么想法?
答案 0 :(得分:0)
为什么他们在响应已经发送时会持续。
为什么您认为会在发送回复后会话无效。
只有在发生会话超时或您使用以下命令强制使会话失效时,它才会失效:
Session#invalidate() method