Как проверить, успешно ли установлен атрибут сеанса?

У меня есть несколько сервлетов и jsp-страниц (около 100), и я хочу управлять сеансами для них, используя HttpSession. Нужно ли проверять наличие HttpSession.getAttribute() в каждом из сервлетов и jsp-страниц после установки атрибута для HttpSession.

Есть ли удобный способ, чтобы мне не приходилось проверять HttpSession.getAttribute() в каждом из сервлетов и jsp-файлов?


person user3921678    schedule 24.08.2014    source источник
comment
Что вы подразумеваете под проверкой и подтверждением? Если атрибут находится в сеансе, вы поместили его туда, чтобы можно было с уверенностью предположить, что он действителен...   -  person Serge Ballesta    schedule 24.08.2014


Ответы (2)


Я предполагаю, что то, чего вы хотите достичь, может быть достигнуто с помощью Servlet Filters. Для получения дополнительной информации вы можете проверить это: - http://www.journaldev.com/1933/java-servlet-filter-example-tutorial

http://tutorials.jenkov.com/java-servlets/servlet-filters.html

person bablu    schedule 25.08.2014

Если вы не хотите повторять сеанс проверки в каждом сервлете (и jsp), вы можете создать базовый класс сервлета, в котором его метод service() переопределен кодом в начале, например HttpSession.getAttribute(), а затем вызвать абстрактный doService(), который вы должны реализовать во всех сервлетах. и последний должен исходить из базового сервлета. Для JSP это немного сложно (поскольку расширение из JSP сложно, может быть, даже непрактично), но вы можете иметь фрагмент JSP с этим кодом, который вы можете <@include ...> во всех ваших JSP в начале. Использование некоторой структуры шаблонов для JSP упростит задачу. Надеюсь, это дало вам некоторое представление о том, как действовать дальше.

person Bimalesh Jha    schedule 24.08.2014