2012-06-18 30 views
20

için sunucu filtresi nasıl uygulanır? Uygulamamda bazı filtreler uygulamak istiyorum ancak tüm isteklerin bu filtreye gitmesini istemiyorum. Bir performans sorunu olacak çünkü zaten başka filtrelerimiz var.Sadece http gönderi yöntemi

Filtrem yalnızca HTTP POST yöntemleri için uygulanmasını istiyorum .. herhangi bir yolu var mı?

Lütfen bunun için bir yol bulmama yardım edin. Kiran

cevap

24

hiçbir kolayca bunun için kasada özelliği yoktur

teşekkürler. Bir Filter, tüm HTTP yöntemlerine uygulanacak ek yüke sahip değildir. Ancak, ek yükü olan Filter kodunda bir mantık varsa, bu mantığı istenmeyen HTTP yöntemlerine uygulamamanız gerekir. Eğer json istekleri (post) i get üzerine yaptım ama nasıl yazılarda bunu yapmak için üzerine sql ve html için bahar escaper nasıl uygulanacağını bilebilir

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: Burada

örnek kod? http://stackoverflow.com/questions/1812891/java-escape-string-to-prevent-sql-injection/39440337#39440337 adresine bakın. – shareef