Для начала рассмотрим GET-запрос.
GET
-запросы позволяют клиенту передавать параметры через адресную строку браузера. Эти параметры затем можно легко извлечь из объекта HttpServletRequest
в сервлете.
Представьте, что клиент вводит в адресной строке следующее:
localhost:8080\helloservlet\getpostservlet\?param1=Hello¶m2=World
Здесь param1
имеет значение “Hello”, а param2
— “World”.
С помощью различных методов эти параметры можно перехватывать, например, с помощью метода getParameter
получим значения параметров и запишем в строки.
Пример программы:
Скомпилируем файл и в адресной строке передадим параметры сервлету по адресу /getpostservlet
. Он должен отправить их обратно клиенту в браузер.

Как видим, сервлет успешно вернул клиенту параметры. Также сервлет отправил клиенту адрес и ip хоста, как видим.
Get запрос с помощью формы
Пусть сервлет отправляет форму с двумя полями и кнопкой отправки пользователю в браузер.
Если он в нее что-то введет то данные отправятся в наш сервлет по методу GET
(в форме ниже можно увидеть method=’get’).
И таким образом когда пользователь введет данные в форму и нажмет кнопку для отправки данных формы, то в адресной строке появиться идентичная строка той, что была в предыдущем примере когда мы вводили параметры в ссылку вручную, только значения параметров в адресной строке будут взяты из текстовых полей формы:
localhost:8080\helloservlet\getpostservlet\?param1=(то, что ввел в текстовое поле пользователь)¶m2=(то, что ввел в текстовое поле пользователь)
Пример программы:
Скомпилируем файл сервлета, перейдем по адресу /getpostservlet
. Как видим, сервлет отправил клиенту форму и он теперь может вводить в поля параметры param1
и param2
.

Когда пользователь нажимает кнопку, введенные им значения параметров param1
и param2
отправляются в сервлет.

Как видим, в адресной строке URL идентичен тому, что мы вводили руками в предидущем примере, только здесь мы использовали форму для отправки параметров.
Также видим Hello World. То есть сервлет вернул клиенту параметры, которые клиент отправил в сервлет через форму.
Post запрос с помощью формы
Но часто на безопасно передавать параметры методом get
, так как, как мы видели, они выводятся в адресной строке.
Чтобы они не выводились в адресной строке следует передавать параметры из формы методом POST.
Пример программы:
Скомпилируем файл сервлета, перейдем по адресу /getpostservlet
. Как видим, сервлет отправил клиенту форму и он теперь может вводить в поля параметры param1
и param2
.

Когда пользователь нажимает кнопку, введенные им значения параметров param1
и param2
отправляются в сервлет.

Видим, что сервлет вернул клиенту параметры, которые он отправлял в сервлет.
Также видим самое главное, что параметров в адресной строке нет, они скрыты благодаря методу Post
.
Table of Contents
Redirect, forward, include в сервлетах
Изучите методы redirect, forward и include в Java-сервлетах. Узнайте, как sendRedirect() перенаправляет клиента, а forward() и include() работают на сервере. Примеры кода и различия.
Работа с Cookies в Java
Cookies в Java: как сервер хранит данные в браузере клиента. Пример создания, отправки и чтения куков. Авторизация без повторного ввода логина и пароля. Методы getCookies, setPath.
Работа с сессиями (Session) в Java
Session в Java: как использовать сессии для хранения данных клиента. Пример работы с HttpSession, атрибутами и их применением в корзине интернет-магазина. Уникальный SESSIONID для каждого пользователя.