Переопределите jspDestroy (), чтобы закрыть сессию в Java EE - PullRequest
0 голосов
/ 30 мая 2011

Я хочу удалить сеанс, когда закрываю окно приложения.Я пытаюсь переопределить jspDestroy () с помощью session.setAttribute ("user", null);но это не работает.

1 Ответ

3 голосов
/ 30 мая 2011

Я думаю, вы неправильно поняли цель jspDestroy().Этот метод является эквивалентом метода Servlet destroy().Из примера в спецификации JSP 2.2:

/** An example of a superclass for an HTTP JSP class */
abstract class ExampleHttpSuper implements HttpJspPage {

 /** What you are overriding */
 public void jspDestroy() {}

 final public void destroy() {
   jspDestroy();
 }

 final public void service(ServletRequest req, ServletResponse res)
        throws ServletException, IOException {
 //remainder elided

Этот метод будет вызываться, когда JSP больше не обслуживает запросы.Он не имеет отношения 1-1 к сеансам пользователя.

Поскольку браузер не поддерживает открытое соединение с сервером, прекращение сеанса при закрытии браузера является более сложной темой.О некоторых подходах вы можете прочитать в ответах на эти похожие вопросы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...