Вы можете использовать атрибут сеанса в качестве логического флага:
HttpSession sess = request.getSession();
Object o = sess.getAttribute("FIRST_HIT");
if (o == null) {
//execute first hit stuff here
sess.setAttribute("FIRST_HIT", "FIRST_HIT");
}
Где 'запрос' ISA javax.servlet.ServletRequest
Это логика в стиле «выполнить только один раз за сеанс», так как мы храним логический флаг в объекте сеанса (или области сеанса)