Создание фильтра для захвата всех URL - PullRequest
0 голосов
/ 22 марта 2012

Я пытаюсь перехватить все URL-адреса, запрошенные WAS. Я запускаю веб-приложение через WAS 6.0 и я определил подобный фильтр в файле web.xml

<filter>
      <filter-name>StatusValidationFilter</filter-name>
      <filter-class>com.test.StatusValidationFilter</filter-class>

</filter>

<filter-mapping>
        <filter-name>StatusValidationFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>ERROR</dispatcher>
</filter-mapping>

Но когда я получаю ошибку 404, фильтр не вызывается, как если бы WAS просто прерывал выполнение приложения, поэтому вопрос в том, правильно ли настроен фильтр?

Если я пытаюсь .do URL-адрес работает, но если я пытаюсь URL-адрес, который генерирует ошибку 404, фильтр не вызывается.

1 Ответ

1 голос
/ 22 марта 2012

Фильтр выглядит нормально. Но обработка ошибок внутри фильтра - плохая практика.

Вы должны использовать тег <error-page> .

Таким образом, во время перенаправления цепочка фильтров все еще сохраняется.

...