2013-03-28 15 views
11

ilkbaharda tarayıcı geri düğmesini kullanarak kullanıcının geri gitmesini engelle spring MVC çerçeve çalışması kullanarak web uygulaması geliştiriyorum, web uygulamamı kullanırken kullanıcıları tarayıcıların geri düğmesini kullanarak geri almalarını kısıtlamak istiyorum. spring s içinde nasıl yapabilirim? spring'da yerleşik bir işlev var mı?“Web uygulaması”

cevap

13

Uygulamanızda aşağıdaki filtre sınıfını kullanın, bu filtre sınıfını web.xml'ye kaydetmeyi unutmayın.

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 { 

    } 

} 

Bu, sorununuzu çözer.

+0

Sizin alarınız için teşekkürler –

+0

Bunu uyguladıktan sonra, bu geri düğmesini tıklattığınızda formun geçerliliğini kaybetmez. Ayrıca yerel bir önbellek var. Formu geri gönderdikten sonra formu dolduracak bir çözüm bulamamış olmama rağmen formun boş kalması ve herhangi bir şekilde önbelleğe alınmaması gerekir. Buna bir çözüm var mı? Bu büyük çift (veya daha fazla) gönderimlerden kaçınacaktır. – logixplayer