2015-01-08 4 views
2

Как исключить конкретный формат URL-адреса из фильтра?Исключить конкретный URL-адрес в сервлет-фильтр

Есть ли стандартный метод или альтернативное решение?

+0

Возможный дубликат [Могу ли я исключить какие-то конкретные адреса из внутри <фильтр-отображение>?] (Http://stackoverflow.com/questions/3125296/can-i-exclude-some- бетон-URLs-из-URL-шаблон внутри фильтр-картирование) – beat

ответ

3

Это невозможно через конфигурацию <url-pattern>.

Вы имеете в основном 2 варианта:

  1. Make <url-pattern> более конкретны. Например. переместите все те ресурсы, которые действительно нужно отфильтровать в определенной папке, например /app, и установите <url-pattern> на /app/*. Затем вы можете просто поместить исключенную страницу за пределы этой папки.

  2. Проверьте URI запроса в фильтре и просто продолжите цепочку, если она представляет исключенную страницу.

    E.g.

    String loginURL = request.getContextPath() + "/login.jsp"; 
    
    if (request.getRequestURI().equals(loginURL)) { 
        chain.doFilter(request, response); 
    } 
    else { 
        // ... 
    } 
    
Смежные вопросы