如何防止用户在从系统注销后导航回 JSP 页面?



目前,我在注销页面上使会话无效,并清除了主菜单中的缓存。但是当我单击"后退"按钮时,它会显示HTTP状态500 - 内部服务器错误。

由于会话无效而不是此错误,如何继续显示登录页面?

Mainmene.jsp
<%
response.setHeader("Cache-Control","no-cache");
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragma","no-cache");
response.setDateHeader ("Expires", 0);
if(session.getAttribute("email")==null) {
response.sendRedirect("loginpage.jsp"); // GO TO LOGIN PAGE
}
%>

Logout.java
protected void doPost(HttpServletRequest request, HttpServletResponse 
response)
throws ServletException, IOException {
response.setContentType("text/html");
HttpSession session=request.getSession();  
session.invalidate(); 
response.sendRedirect("loginpage.jsp");
}

您可以使用一个Filter来检查sessionScope中是否存在用户对象,并将其应用于给定类型的url-patterns。您可以在此处查看如何使用。

最新更新