2012-06-18 11 views
20

Nella mia applicazione voglio applicare un filtro, ma non voglio che tutte le richieste debbano passare a quel filtro. sarà un problema di prestazioni, perché già abbiamo alcuni altri filtri.come applicare il filtro servlet solo per il metodo http post

Desidero che il mio filtro si applichi solo per i metodi HTTP POST. C'è qualche modo?

Please help me per ottenere un modo per questo.

grazie Kiran

risposta

24

Non esiste prontamente funzionalità disponibile per questo. Un Filter non ha un sovraccarico nell'applicare a tutti i metodi HTTP. Ma, se si ha qualche logica nel codice Filter che ha sovraccarico, non si dovrebbe applicare quella logica ai metodi HTTP indesiderati.

Ecco il codice di esempio:

public class HttpMethodFilter implements Filter 
{ 
    public void init(FilterConfig filterConfig) throws ServletException 
    { 

    } 

    public void doFilter(ServletRequest request, ServletResponse response, 
     FilterChain filterChain) throws IOException, ServletException 
    { 
     HttpServletRequest httpRequest = (HttpServletRequest) request;   
     if(httpRequest.getMethod().equalsIgnoreCase("POST")){ 

     } 
     filterChain.doFilter(request, response); 
    } 

    public void destroy() 
    { 

    } 
} 
+0

hi si può sapere come applicare la primavera escape per SQL e HTML sulle richieste JSON (post) ho fatto il danno, ma come si fa sui posti? guarda http://stackoverflow.com/questions/1812891/java-escape-string-to-prevent-sql-injection/39440337#39440337 – shareef

Problemi correlati