状況があります-誰かがブラウザで「戻る」ボタンをクリックすると、ページからログアウトした後、自動的に戻るページに戻ります。Logout.java (サーブレット) では、次を使用します。
session.invalidate();
request.getRequestDispatcher("index.jsp").forward(request,response);
すべて正常に動作しています。しかし、ログアウト後、ブラウザの [戻る] ボタン (左上隅) をクリックすると、元の場所に戻ります。[戻る] をクリックした場合は、[セッションが期限切れです] または [ログイン] などと言わなければなりません。どうやってするの。貴重なご意見をお聞かせください。
私はちょうどこれについて読んだ & 私はサーブレット FilterURL.java を作成します:
public class FilterURL extends HttpServlet implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {
//
}
@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
public void destroy() {
//
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//
}
}
そして私のweb.xml:(web-appの下)
<filter>
<filter-name>FilterURL</filter-name>
<filter-class>com.filter.url.sys.FilterURL</filter-class>
</filter>
<filter-mapping>
<filter-name>FilterURL</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
しかし、それは機能しません。私は何を間違えていますか??
私はこのページからそれを読みました: