Почему управление сессиями невозможно с помощью GenericServlet? - PullRequest
0 голосов
/ 20 февраля 2019

В Java-сервлете, когда мы создаем класс Servlet путем расширения класса GenericServlet , управление сеансом невозможно.

Поэтому мне интересно знать то же самое

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

В GenericServlet, который является реализацией базового универсального интерфейса сервлета, нет никаких специфических для протокола функций.Сеансы на основе сервлетов предназначены только для взаимодействий с использованием протокола HTTP, который имеет две ключевые функции, необходимые контейнеру сервлетов для имитации непрерывных сеансов пользователей: файлы cookie и навигация на основе URL-адресов, которая поддерживает перезапись URL-адресов.Поэтому Servlet API помещает интерфейс HttpSession в пакет javax.servlet.http, а ссылки на Session доступны только через классы в этом пакете

Итак, класс GenericServlet реализует Servlet, ServletConfig и Serializableинтерфейсы.Он обеспечивает реализацию всех методов этих интерфейсов, кроме метода обслуживания.Класс GenericServlet может обрабатывать запросы любого типа, поэтому он не зависит от протокола.Вы можете создать универсальный сервлет, унаследовав класс GenericServlet и обеспечив реализацию метода сервиса.

0 голосов
/ 20 февраля 2019

HTTP-сессия - специфическая вещь HTTP.Универсальный сервлет не имеет представления о понятиях HTTP, только HTTPServlet.

Относительно вашего следующего вопроса: «Когда вам нужен GenericServlet?»ответ никогда .

...