Вы хотите определить заголовки запроса для маркера запроса 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>