以下のコードは私のサーブレットです。doFilter()
キャッシュ制御に を使用しdoPost()
、セッションを無効にしてログイン ページにリダイレクトするために を使用しました。戻るボタンの問題は引き続き発生します。誰かが私が間違っていることを教えてもらえますか? そして、反対票を投じる前に理由を教えてください!前もって感謝します。
public class LogoutServlet extends HttpServlet implements Servlet, Filter{
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse hsr = (HttpServletResponse) res;
hsr.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
hsr.setHeader("Pragma", "no-cache"); // HTTP 1.0.
hsr.setDateHeader("Expires", 0); // Proxies.
chain.doFilter(req, res);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession(false);
session.invalidate();
response.sendRedirect("login.jsp");
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
throw new UnsupportedOperationException("Not supported yet.");
}
}