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

       

что сервлет CatalogServlet возвращает пользователю


... // пишем ответ

out.println("<html>" + ...); ... // берем каталог и отправляем его, красиво отформатировав

BookDetails[] books = database.getBooksSortedByTitle(); ... for(int i=0; i < numBooks; i++) { ... //Выводим инвормацию для книги в две строчки

out.println("<tr>" + ...

"<a href=\"" + response.encodeURL("/servlet/bookdetails?bookId=" + bookId) + "\"> <strong>" + books[i].getTitle() + "  </strong></a></td>" + ...

"<a href=\"" + response.encodeURL("/servlet/catalog?Buy=" + bookId) + "\">   Add to Cart  </a></td></tr>" +

} } }

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

Когда пользователь жмет на ссылку переписанного URL, сервлет определяет и извлекает идентификатор сессии. Далее используется метод getSession, чтобы получить соответствующий идентификатору сессии объект HttpSession.

И обратно, если броузер пользователя не поддерживает закладки, и пользователь нажимает на не переписанный URL, сессия пользователя пропадает. Сервлет, взаимодействуя через эту ссылку, создает новую сессию, а новая сессия не содержит данных соответствующих прежней сессии. Если сервлет теряет данные сессии, эти данные теряются для всех сервлетов их использующих. Вы должны также использовать методы перезаписи URL, если хотите, чтобы Ваш сервлет поддерживал клиентов, не работающих или не поддерживающих закладки.


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







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