Счетчик попаданий в JSF

Я хочу добавить счетчик посещений в свое веб-приложение JSF. Как и в PHP, мы можем использовать внешний текстовый файл для хранения счетчика и приращения и записывать его при каждом запросе. Как использовать в JSF?


person Hari kanna    schedule 01.04.2010    source источник


Ответы (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-компонент каким-то образом при каждом запросе.

person BalusC    schedule 01.04.2010
comment
факт записи в файл, будет ли это проблемой производительности ?? факт обращения каждый раз, когда диск тормозит. - person neo; 10.02.2015
comment
@neo: Это не рассматривается в вопросе в его текущей форме. ОП явно просил записать на диск. - person BalusC; 10.02.2015
comment
Хорошо, я пытался реализовать счетчик посещений, и когда я увидел ваш ответ, я сделал комментарий, чтобы прояснить ситуацию для меня... Я думаю, что я реализую его, используя карту с элементами для каждой страницы (в качестве кеша) и периодически сбрасывать результаты в базу данных, например, один раз в день. - person neo; 10.02.2015

Вы могли бы сделать это, но единственная ситуация, которую я могу придумать, это домашнее задание. В любом случае, просто используйте Backing Bean, который читает/увеличивает/записывает файл.

Посмотрите Apache Commons IO FileUtils. для некоторых хороших вспомогательных методов. Хотя, если это домашняя работа, вы, несомненно, получите более высокие оценки за самостоятельную работу ;-)

person Damo    schedule 01.04.2010