Читайте также:
|
|
Контейнер сервлетов — программа, представляющая собой сервер, который занимается системной поддержкой сервлетов и обеспечивает их жизненный цикл в соответствии с правилами, определёнными в спецификациях. Может работать как полноценный самостоятельный веб-сервер, быть поставщиком страниц для другого веб-сервера, например Apache, или интегрироваться в Java EE сервер приложений. Обеспечивает обмен данными между сервлетом и клиентами, берёт на себя выполнение таких функций, как создание программной среды для функционирующего сервлета, идентификацию и авторизацию клиентов, организацию сессии для каждого из них.
Сервлет является Java-интерфейсом, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ.
Хотя сервлеты могут обслуживать любые запросы, они обычно используются для расширения веб-серверов. Для таких приложений технология Java Servlet определяет HTTP-специфичные сервлет классы.
Пакеты javax.servlet и javax.servlet.http обеспечивают интерфейсы и классы для создания сервлетов.
public class MyServlet extends javax.servlet.http.HttpServlet {
protected void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{}
public void destroy() {
this.log("Servlet destroyed");
}
public void init(ServletConfig cfg) throws ServletException {
this.log("Servlet inited");
}
}
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class NewServlet extends HttpServlet {
@ Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// Параметр
String parameter = request.getParameter("parameter");
// Старт HTTP сессии
HttpSession session = request.getSession(true);
session.setAttribute("parameter", parameter);
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Заголовок</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Пример сервлета"+parameter+"</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
@ Override
public String getServletInfo() {
return "Пример сервлета";
}
}
HttpServletRequest – класс, экземпляры кот. представляют запрос от браузера
String getContextPath() – возвращает путь к контексту приложения
String getServletPath() – URL вызванного сервлета (JSP)
HttpSession getSession() – Сессия пользователя
Object getAttribute() / void setAttribute(String name, Object value) – Хранение пользовательских атрибутов, связанных с запросом
String getParameter(String value) – Параметр запроса (и для GET и для POST)
void setCharacterEncoding(String enc) – Кодировка значений параметров запроса (windows-1251, UTF-8)
HttpServletResponse – класс, экземпляры кот. представляют ответ браузеру
void setContentType(String contentType) – MIME-тип ответа браузеру
java.io.PrintWriter getWriter() – поток вывода для ответа браузеру
void sendRedirect(String location) – перенаправление на другую страницу
HttpSession – класс, экземпляры кот. хранят состояние сессии клиента
Object getAttribute() / void setAttribute(String key, Object value) – Атрибуты сессии (сохраняются между запросами одного клиента)
HttpServletContext – класс, экземпляры кот. представляют все web-приложение
Object getAttribute() / void setAttribute(String key, Object value) – Атрибуты контекста (общие для всех пользователей и запросов к web-приложению)
Дата добавления: 2015-09-11; просмотров: 153 | Поможем написать вашу работу | Нарушение авторских прав |