пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Создание и компиляция исходного кода сервлета

Для построения сервлета разработчик должен написать класс, реализующий интерфейс javax.servlet.Servlet. Наряду с прочим, данный интерфейс содержит три метода, играющих важную роль с точки зрения методики J2EE: init(), service() и destroy().

import javax.servlet.*;
public SampleServlet implements Servlet {
ServletConfig servletConfig;
public void init(ServletConfig config) throws ServletException
{
servletConfig = config;
...
}
public void destroy() { ... }
public void service(ServletRequest req, ServletResponse res) { ... }
...
}

Информацию о запросе из объекта ServletRequest обычно извлекают либо в виде набора пар "название параметра - значение" (обычно используется для обработки различных форм HTML), либо в виде некого входного потока данных InputStream. Например, извлечение параметра с названием param, переданного из формы HTML, выглядит следующим образом:
public void service(ServletRequest req, ServletResponse res)
{
String par = req.getParameter("param"));
...
}
Чаще всего сервлет пишется таким образом, чтобы в ответ на запрос клиента в методе service() формировался некий документ. Содержимое этого документа передается в выходной поток данных OutputStream, предоставляемый объектом ServletResponse, для отправки клиенту. Заметим, что в ответ на запрос клиента сервлет может генерировать не только HTML страницы, но и данные любого другого типа, например, графические изображения или XML документы. Тип передаваемых материалов уточняется с помощью метода setContentType() объекта ServletResponse. По умолчанию подразумевается тип данных "text/html". Таким образом, метод service(), в ответ на запрос клиента генерирующий динамическую web-страницу, может выглядеть следующим образом:
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("");
out.println("");
...
out.println("");
out.println("");
out.close();
}


28.12.2017; 02:30
хиты: 105
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь