Иллюстрированный самоучитель по Java



Сервлеты - часть 3


Протокол HTTP предлагает несколько методов передачи данных: GET, POST, PUT, DELETE. Для их использования класс GenericServlet расширен классом HttpServlet, находящимся В пакете javax.servlet.http. В этом классе есть методы для реализации каждого метода передачи данных:

doGet(HttpServletRequest req, HttpServletResponse resp) 

doPost(HttpServletRequest req, HttpServletResponse resp) 

doPut(HttpServletRequest req, HttpServletResponse resp) 

doDelete(HttpServletRequest req, HttpServletResponse resp)

Для работы с конкретным HTTP-методом передачи данных достаточно расширить свой класс от класса HttpServlet и реализовать один из этих методов. Метод service () переопределять не надо, в классе HttpServlet он только определяет, каким HTTP-методом передан запрос клиента, и обращается к соответствующему методу doXxxo. Аргументы перечисленных методов req и resp — это объекты, реализующие Интерфейсы HttpServletRequest и HttpServletResponse, расширяющие интерфейсы ServletRequest и ServietResponse, соответственно.

Интерфейс HttpServletRequest к тому же описывает множество методов getxxx (), позволяющих получить дополнительные свойства запроса req.

Интерфейс HttpServletResponse описывает методы addxxxO и setxxxo, дополняющие ответ resp, и статические константы с кодами ответа Web-сервера.

В листингах П.2 и П.З те же действия, что выполняет программа листинга П. 1, реализованы с помощью сервлета. Апплет теперь не нужен, в окно браузера выводится HTML-форма, описанная в листинге П.2.

Листинг П.2.

HTML-форма запроса к базе данных

<html><head><title> JDBC Servlet</title></head> 

<body>

<form method = "POST" action = "/servlet/JdbcServlet"> 

<pre>

URL базы: <input type = "text" size = "40" name = "url"

value = "jdbc:oracle:thin:@localhost:1521:ORCL"> 

Имя: <input type = "text" size = "40" name = "login"




Содержание  Назад  Вперед