Главная » Java, Web » Структура сервлета

0

Файл простейшего сервлета уже был приведен ранее. Сейчас будет рассмотрен пример, из которого будет понятна общая структура апплета, который обрабатывает запросы, получаемые с использованием методов get. Этот метод позволяет передавать данные запроса вместе с адресом URL по протоколу HTTP. Наряду с методом get может быть использован метод post (данные передаются отдельным фрагментом в теле HTTP-запроса, при этом данные не являются составной частью URL).

import java.io.*; import j avax.servlet.* ; import j avax.servlet.http.*;

public class SomeServlet extends HttpServlet {

public void doGet(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

// Для чтения получаемых данных используется "request", // с его помощью читаются заголовки, cookies, данные из форм // Для создания ответов используется "response", с его // помощью создаются заголовки ответа, а также весь текст // ответа, в том числе посылаемый тип данных, cookies.

PrintWriter out = response.getWriter();

// для отправки ответа браузеру используется "out"

}

}

Для того чтобы класс представлял собой сервлет, он должен быть создан на основе класса HttpServiet, и в нем должны быть переопределены методы doGet п doPost (одпн или оба сразу), в зависимости от того, каким методом он получает данные (get или post). Эти методы получают два аргумента: объекты HttpServletRequest и HttpServletResponse. Интерфейс HttpServletRequest описывает методы, которые позволяют читать данные HTML-форм, заголовки HTTP и т. п. Интерфейс HttpServletResponse предоставляет методы, которые используется для отправки кодов HTTP (200, 404 и т. п.), заголовков ответов (content-туре, set-cookie и т. п.), а также позволяет использовать поток вывода PrintWriter, с помощью которого HTML-код отправляется клиенту. В простейшем сервлете вывод может быть осуществлен при помощи инструкции println. Методы doGet и doPost могут вызывать появление двух исключительных ситуаций. Следует также помнить, что в класс сервлета необходимо импортировать несколько пакетов, в том числе пакет java.io (содержит PrintWriter и пр.), пакет javax.servlet (содержит HttpServiet и пр.), пакет j avax. servlet. http (содержит HttpServletRequest и HttpServletResponse). И, наконец, переопределить методы doGet и doPost.

Источник: Будилов В. А. Интернет-программирование на Java. — СПб.: БХВ-Петербург, 2003. — 704 е.: ил.

По теме:

  • Комментарии