Лабораторная работа: Разработка Web–приложений с применением Java Servlet-технологии
SingleThreadModel
Указывает, что сервлет защищен от многопоточности.
Класс |
Описание |
GenericServlet |
Реализует интерфейс Servlet и ServletConfig |
ServletInputStream |
Обеспечивает входной поток для чтения запросов от клиента. |
ServletOutputStream |
Обеспечивает выходной поток для записи ответов клиенту. |
ServletException |
Указывает, что произошла ошибка сервлета. |
UnavailableException |
Указывает, что сервлет постоянно или временно недоступен. |
Инициализация сервлета
Когда сервер загружает сервлет, он запускает init‑метод сервлета.
public void init (ServletConfig config) throws ServletException
Инициализация завершается до начала обработки запрос клиента и до удаления сервлета. Сервер вызывает метод init только один раз при загрузке сервлета. В дальнейшем, метод init больше не вызывается, если только сервер не перезагружает сервлет. Сервер не может перезагрузить сервлет до тех пор, пока он не удалит сервлет, вызвав метода destroy.
Удаление сервлета
Сервлеты работают до тех пор, пока сервер не удалит их. Когда сервер удаляет сервлет, он запускает метод destroy сервлета.
public void destroy()
Этот метод запускается один раз; сервер не будет запускать сервлет снова до тех пор, пока сервер не перезагрузит и переинициализирует сервлет.
Взаимодействие с клиентами
После инициализации сервлет способен обрабатывать запросы клиентов. Cервлет работает с запросами клиентов с помощью метода service.
public void service (ServletRequest req, ServletResponse res)throws ServletException, IOExceptionМетод service поддерживает стандартные HTTP‑запросы клиентов, отсылая каждый полученный запрос тому методу, который создан для работы с запросом данного вида.
Когда сервлет принимает вызов клиента, он получает два объекта:
· ServletRequest, который инкапсулирует связь клиента с сервером.
· ServletResponse, инкапсулирующий обратную связь сервера с клиентом.
ServletRequest и ServletResponse являются интерфейсами, определенными пакетом javax.servlet.
ServletRequest интерфейс
ServletRequest интерфейс позволяет сервлету получить доступ:
· к следующей информации: имена параметров, введенных клиентом; протокол (схема), используемый клиентом; имя удаленного хоста, пославшего запрос; имя сервера, получившего этот запрос.
· к входному потоку ServletInputStream для получения данных от клиентов, использующих такие входные протоколы, как HTTP POST- и PUT‑методы.