Мне нужно получить определенное пользовательское значение заголовка HTTP из каждого запроса и поместить его в WebSession, чтобы позже оно было доступно на любой веб-странице. (Я считаю, что способ Wicket сделать это состоит в том, чтобы иметь собственный класс, расширяющий WebSession, который имеет соответствующие методы доступа.)
У меня вопрос: какой фильтр (или другой механизм) мне нужен, чтобы иметь возможность как перехватывать заголовок, так и получать доступ к WebSession для сохранения значения?
Я попытался сделать это с помощью обычного фильтра Java EE, используя
CustomSession session = (CustomSession) AuthenticatedWebSession.get();
Но (возможно, неудивительно), это дает:
java.lang.IllegalStateException:
you can only locate or create sessions in the context of a request cycle
Должен ли я, возможно, расширить WicketFilter и сделать это там (могу ли я получить доступ к сеансу в этот момент?), или требуется что-то еще более сложное?
Конечно, пожалуйста, укажите на это, если я делаю что-то совершенно неправильно; Я новичок в Уикете.