2012-06-18 3 views
20

В моем приложении я хочу применить некоторый фильтр, но я не хочу, чтобы все запросы приходили на этот фильтр. это будут проблемы с производительностью, потому что уже есть некоторые другие фильтры.как применить фильтр сервлета только для метода http post

Я хочу, чтобы мой фильтр применялся только для HTTP POST-методов .. есть ли способ?

Пожалуйста, помогите мне получить доступ к этому.

благодаря Киран

ответ

24

Там нет доступной функция для этого. A Filter не имеет накладных расходов при применении ко всем HTTP-методам. Но если у вас есть логика внутри кода Filter, который имеет накладные расходы, вы не должны применять эту логику к нежелательным методам HTTP.

Вот пример кода:

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

привет вы можете знать, как применять пружины беглеца для SQL и HTML запросов JSon (пост) я сделал это получить, но как сделать это на столбах? посмотрите http://stackoverflow.com/questions/1812891/java-escape-string-to-prevent-sql-injection/39440337#39440337 – shareef

Смежные вопросы