2010-08-05 4 views
1

В веб-приложении J2EE, как отключить создание HttpSession по умолчанию?Как отключить сеанс контейнера сервлетов по умолчанию?

У нас есть собственный способ отслеживания сеанса, мы не используем сессию по умолчанию jsp/servlet, но по умолчанию сеанс устанавливает cookie в браузере, который я бы хотел избежать. Прямо сейчас на каждой странице JSP мы указываем как session = "false" в директиве страницы, но часто некоторые разработчики пропускают эту часть, поэтому я пытаюсь найти общее место, где я могу контролировать сеанс по умолчанию.

ответ

1

Я пытаюсь найти общее место, где я могу контролировать сеанс по умолчанию.

Ответ - это servletcontainer, поскольку он отвечает за создание сеанса и управление. Стандартный Servlet API не несет за это ответственности. Непонятно, какой сервлетконтейнер вы используете, поэтому вот целевой адрес Tomcat: создайте свой собственный <Manager>.

В качестве альтернативы вы также можете полностью отключить поддержку файлов cookie и полагаться только на переписывание URL (но не делать этого). Таким образом, сеансы не будут сохраняться среди запросов. Вы можете сделать это, например, в Tomcat, установив атрибут cookie элемента <Context> в false.

Если вы используете другой сервлетконтейнер, вам необходимо проконсультироваться с его документацией на основе недавно полученной информации и ключевых слов здесь, или просто указать здесь, какой именно.

+0

Спасибо. Поэтому каждый веб-сервер J2EE должен иметь эквивалентную возможность отключения сеанса. –

+0

Я не уверен, что вы забыли знак вопроса, но если выше вопрос, тогда ответ «да». Каждый достойный должен иметь. Кстати, J2EE был повышен до JavaEE более 4 лет назад. Держите себя в курсе событий. Вы действительно не хотите все еще беспокоиться со старым API Servlet 2.3. – BalusC

Смежные вопросы