Обучение Java. Сервлеты

       

Завершение сессии


Сессия пользователя может быть завершена вручную или, в зависимости от того, где запущен сервлет, автоматически. (Например, Java Web Server автоматически завершает сессию, когда в течение определенного времени не происходит запросов, по умолчанию 30 минут.) Завершить сессию означает удаление объекта HttpSession и его величин из системы.

Чтобы вручную завершить сессию, используйте метод сессии invalidate. У некоторых программ уже есть такие точки, в которых происходит завершение сессии. Пример Duke's Bookstore

завершает сессию пользователя после того, как он осуществил покупку книг. Это происходит в сервлете ReceiptServlet:

public class ReceiptServlet extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

... scart = (ShoppingCart)session.getValue(session.getId()); ... // Очищаем корзину завершая сессию

session.invalidate();

// прежде чем начать вывод, устанавливаем тип содержимого

response.setContentType("text/html"); out = response.getWriter(); ... } }



Содержание раздела