gpt4 book ai didi

java - 无法关闭我的 session Servlet

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:12 24 4
gpt4 key购买 nike

我无法在注销方法中使用 session.invalidate() 关闭 session ,请帮忙!

public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();

response.getWriter().println("<h3><a href='/assign2'>Logged out Successfully</a></h3>");
HttpSession session = request.getSession(false);
if(session!=null)
session.invalidate();


}

用户名根本不会被写入 null

这是我的欢迎页面,我将其重定向到此处

HttpSession session=request.getSession(false);

if(session!=null)
{
if((request.getSession().getServletContext().getAttribute("userid")) != null)
{
username = request.getSession().getServletContext().getAttribute("userid").toString();
}

}


System.out.println(username);

最佳答案

注销页面没问题,但在欢迎页面中您正在混合概念:

虽然 session.invalidate 的执行确实解除了所有绑定(bind)属性的绑定(bind),但您是从 ServletContext 而不是 Session 检索属性 userid。此外,请注意,如果需要,request.getSession() 会创建一个新 session 。

存储和检索属性的一致方法是通过 HttpSession 对象:

HttpSession session=request.getSession(false);

if(session!=null)
{
if((session.getAttribute("userid")) != null)
{
username = session.getAttribute("userid").toString();
}
}
System.out.println(username);

关于java - 无法关闭我的 session Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40030703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com