protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out=response.getWriter();
HttpSession session=request.getSession(false);
session.invalidate();
out.println(session.getId());
// processRequest(request, response);
}
这是从jsp页面调用的servlet注销。我试图破坏会话但是在函数session.invalidate()之后,它仍然打印会话ID。我的会话是否已被销毁,或者在执行invalidate函数后需要一段时间才能销毁?
答案 0 :(得分:1)
立刻摧毁。它不会将Id设置为null。它只是解绑绑定它的任何对象
答案 1 :(得分:1)
invalidated
方法,会话即.invalidate
来自docs,
invalidate
void invalidate()
Invalidates this session then unbinds any objects bound to it.
要检查它是否无效,请从会话中获取属性并检查其值。例如,
String value= (String)session.getAttribute("value");
out.print(value);
在这种情况下会打印null
注意:在检查上述情况之前,您已在value
中设置session
希望这会有所帮助!!