2013-03-28 17 views

Odpowiedz

13

Zastosowanie następujące klasy filtra w aplikacji, nie zapomnij, aby zarejestrować tę klasę filtra w 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 { 

    } 

} 

To wszystko, rozwiązuje twój problem.

+0

Dzięki za ans –

+0

I wdrożone, ale to nie to nadal nie wygasa formularza po kliknięciu przycisku Wstecz. Istnieje również lokalna pamięć podręczna. Nadal nie znalazłem rozwiązania, które wygaśnie po przesłaniu formularza, tak że nawet jeśli klikniesz z powrotem, formularz powinien być pusty, nie buforowany w żaden sposób. Czy jest w ogóle jakieś rozwiązanie? Pozwoli to uniknąć dużych podwójnych (lub nawet więcej) zgłoszeń. – logixplayer

Powiązane problemy