Вы хотите определить заголовки запроса для маркера запроса a4j. Я не делаю a4j, но если он хорошо работает, вы сможете определить его на основе заголовка X-Requested-With
.
String requestedWith = request.getHeader("X-Requested-With");
Затем просто определить в if
блоке, если значение ожидаемого один для запросов a4j и обрабатывать соответствующим образом. Не забудьте продолжить цепочку фильтров в конце всякий раз, когда это необходимо.
if (requestedWith.equals(someAjax4jsfSpecificValue)) {
// Do your job.
}
chain.doFilter(request, response);
Чтобы его запустить, просто отобразить его на <servlet-name>
в FacesServlet
, как это в настоящее время определяемом в web.xml
.
<filter-mapping>
<filter-name>yourFilter</filter-name>
<servlet-name>facesServlet</servlet-name>
</filter-mapping>