Я бы предложил просто использовать Filter
для этого. Реализуйте javax.servlet.Filter
соответственно и отобразите это в web.xml
на url-pattern
интереса.
например. (полупсевдо):
public void doFilter(request, response) {
int count = readCountFromFile();
count++;
writeCountToFile(count);
chain.doFilter(request, response);
}
Учебное пособие Java IO может помочь в чтении и записи содержимого файла.
Вам не обязательно нужен JSF для этого. JSF просто построен на основе Servlet API, и вы можете использовать Filters так же хорошо с ним. В противном случае вам нужно создать bean-компонент, и вы должны помнить, что каждый view вызывает этот компонент как-то при каждый запрос.