2012-06-18 14 views
20

W mojej aplikacji chcę zastosować filtr, ale nie chcę, aby wszystkie żądania musiały przejść do tego filtra. będą to problemy z wydajnością, ponieważ już mamy kilka innych filtrów.jak zastosować filtr serwletów tylko dla metody http post

Chcę, aby mój filtr był stosowany tylko dla metod HTTP POST. Czy jest jakiś sposób?

Proszę mi pomóc znaleźć sposób na to.

dzięki Kiran

Odpowiedz

24

Nie ma łatwo dostępna funkcja dla tego. A Filter nie ma narzutu w zastosowaniu do wszystkich metod HTTP. Ale jeśli masz pewną logikę wewnątrz kodu Filter, który ma narzut, nie powinieneś stosować tej logiki do niechcianych metod HTTP.

Oto przykładowy kod:

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 można wiedzieć, jak zastosować sprężyny Escaper dla SQL i HTML na żądań json (post) Zrobiłem to dostajesz, ale jak to zrobić na stanowiskach? spójrz na http://stackoverflow.com/questions/1812891/java-escape-string-to-prevent-sql-injection/39440337#39440337 – shareef

Powiązane problemy