Я хочу добавить счетчик посещений в свое веб-приложение JSF. Как и в PHP, мы можем использовать внешний текстовый файл для хранения счетчика и приращения и записывать его при каждом запросе. Как использовать в JSF?
Счетчик попаданий в JSF
Ответы (2)
Я бы предложил просто использовать для этого Filter
. Реализуйте javax.servlet.Filter
соответственно и сопоставьте это в web.xml
с интересующим url-pattern
.
Например. (полу псевдо):
public void doFilter(request, response) {
int count = readCountFromFile();
count++;
writeCountToFile(count);
chain.doFilter(request, response);
}
руководство по вводу-выводу по Java может помочь в чтении и написании содержимое файла.
Для этого вам не обязательно нужен JSF. JSF просто построен на основе Servlet API, и вы можете использовать с ним фильтры. В противном случае вам придется создать bean-компонент, и вы должны помнить, что каждое представление вызывает этот bean-компонент каким-то образом при каждом запросе.
Вы могли бы сделать это, но единственная ситуация, которую я могу придумать, это домашнее задание. В любом случае, просто используйте Backing Bean, который читает/увеличивает/записывает файл.
Посмотрите Apache Commons IO FileUtils. для некоторых хороших вспомогательных методов. Хотя, если это домашняя работа, вы, несомненно, получите более высокие оценки за самостоятельную работу ;-)