Интерфейс HttpSession предоставляет методы, которые сохраняют и возвращают данные:
Пример Duke's Bookstore использует прослеживание сессии для того, чтобы хранить информацию о книгах в корзине для покупок пользователя. Вот пример сервлета CatalogServlet получающего идентификатор пользовательской сессии, который получает и устанавливает данные, соответствующие сессии этого пользователя:
public class CatalogServlet extends HttpServlet {
public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Получаем сесию пользователя и корзину для покупок
HttpSession session = request.getSession(true); ShoppingCart cart = (ShoppingCart)session.getValue(session.getId());
// Если у пользователя нет корзины, создаем ее
if (cart == null) { cart = new ShoppingCart(); session.putValue(session.getId(), cart);
} ... } }
Потому как объект может быть ассоциирован с сессией, пример Duke's Bookstore
хранит книги отобранные пользователем в объекте. Этот объект типа ShoppingCart и каждая книга, отобранная пользователем, хранится в корзине для покупок, то есть в объекте ShoppingCartItem. Например, вот, что получается в таком случае в методе doGet сервлета CatalogServlet:
public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {