gpt4 book ai didi

java - 使 JSP 中的 session 无效 - Servlet

转载 作者:行者123 更新时间:2023-11-29 09:18:29 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Prevent user from going back to the previous secured page after logout

我想知道如何使 JSP 和 servlet 中的 session 无效。在我的网站上,一个人在注销时到达登录页面,但在单击后退按钮时他可以访问上一页。我无法理解将 session.invalidate() 放在哪里

此外,当有人点击注销时,我应该在哪里使它无效,在 login.jsp 或我的其他网页上。

我的过滤器类:-

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import javax.servlet.annotation.WebFilter;


public class LoginFilter implements Filter{


@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;




HttpSession session = request.getSession(false);

if (session == null || session.getAttribute("currentSessionUser") == null) {
response.sendRedirect("Loginpage.jsp"); // No logged-in user found, so redirect to login page.

response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0);
} else {
chain.doFilter(req, res); // Logged-in user found, so just continue request.
}
}

}

在我写的 web.xml 中:-

 <filter>
<filter-name>loginFilter</filter-name>
<filter-class>LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/ARMS/*</url-pattern>
</filter-mapping>

在我刚刚写的 Loginpage.jsp 上

<%
session.invalidate();
%>

还好吗?其次我不清楚目录结构。我正在放它的屏幕截图.. enter image description here enter image description here

我正在使用 apache tomcat 5.5 服务器,所以我想我不应该在过滤器类中放置 url-pattern 注释,对吗?因为只有tomcat 7以上才支持。

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