2013-03-28 12 views
11

私はspring MVCフレームワークを使用してWebアプリケーションを開発しています、私は自分のWebアプリケーションを使用したときにブラウザがボタンをバック使用してバックトラバースからユーザーを制限したいです。どのように私はspring秒で行うことができますか? springに組み込まれている機能はありますか?アプリケーション内のフィルタクラスを以下の防止ユーザー `ウェブapplication`

答えて

13

使用は、web.xmlにこのフィルタクラスを登録することを忘れないでください。

import javax.servlet.ServletException; 
import javax.servlet.ServletRequest; 
import javax.servlet.ServletResponse; 
import javax.servlet.http.HttpServletResponse; 

public class NoBrowserCacheFilter implements Filter{ 

    @Override 
    public void destroy() { 

    } 

    @Override 
    public void doFilter(ServletRequest req, ServletResponse res, 
      FilterChain chain) throws IOException, ServletException { 
     HttpServletResponse response=(HttpServletResponse)res; 
     response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); 
     response.setHeader("Pragma", "no-cache"); 
     response.setDateHeader("Expires", -1); 
     chain.doFilter(req, res); 
    } 

    @Override 
    public void init(FilterConfig arg0) throws ServletException { 

    } 

} 

それだけです。あなたの問題を解決します。

+0

あなたのANS –

+0

ためのおかげで、私はこれを実装していますが[戻る]ボタンをクリックすると、これはまだフォームが期限切れになりませんありません。ローカルキャッシュもあります。私はまだあなたが戻ってクリックしても、そのように一度提出したフォームを期限切れとなる解決策を見つけていない、フォームが空である必要があり、いかなる方法でキャッシュされません。これには何か解決策はありますか?これにより、重複した(またはそれ以上の)重大な提出は避けられます。 – logixplayer