会话在JSP中执行sendRedirect()后无法正常工作

von4xj4u  于 2023-01-03  发布在  其他
关注(0)|答案(1)|浏览(139)

会话的代码工作不正常。我复制了一个链接,注销后,当我试图访问该链接比它工作没有要求登录。
下面是我的登录页面的代码,我已经创建了会话:

String user_name=request.getParameter("user_name");        
String pass=request.getParameter("pass");
session.setAttribute("user_name", user_name);
session.setAttribute("pass",pass);

下面是我在其中传输会话的页面的代码:

String user_name = (String)session.getAttribute("user_name");

下面是注销页面的代码:

session.setAttribute("user_name", null);
session.invalidate();
response.sendRedirect("index.jsp");
response.addHeader("cache-control","no-cache");
axr492tv

axr492tv1#

有一点很重要,sendRedirect()应该是最后一个响应的命令。

response.addHeader("cache-control","no-cache");
response.sendRedirect("index.jsp");

index.jsp中,如果它是一个受保护的资源,那么在会话中不是有效的user_name时,您应该重定向到登录页面。

String user_name = (String)session.getAttribute("user_name"); 
if (user_name == null) response.sendRedirect("login.jsp");

相关问题