💬 Спросят с вероятностью 6%
Интерфейс
ServletRequest представляет собой объект, который инкапсулирует информацию о клиентском запросе, отправленном на сервер. Этот интерфейс используется для получения данных от клиента, таких как параметры запроса, атрибуты, информация о протоколе и другие детали, связанные с запросом.Основные задачи:
1️⃣ Получение параметров запроса: Интерфейс предоставляет методы для доступа к параметрам запроса, которые могут быть переданы через URL или тело запроса (например, в форме HTML).
2️⃣ Доступ к атрибутам запроса: Позволяет сервлетам устанавливать и получать атрибуты, которые могут быть использованы для обмена информацией между сервлетами.
3️⃣ Получение информации о клиенте: Включает методы для получения IP-адреса клиента, имени хоста, типа и длины содержимого.
4️⃣ Чтение данных из тела запроса: Предоставляет методы для чтения данных из тела запроса, таких как
InputStream или BufferedReader.5️⃣ Управление сессиями: Через
HttpServletRequest (наследник ServletRequest) можно управлять HTTP-сессиями.Основные методы:
➕
getParameter(String name): Возвращает значение параметра запроса по его имени.➕
getParameterNames(): Возвращает перечисление имен всех параметров запроса.➕
getParameterValues(String name): Возвращает массив значений параметра запроса.➕
getAttribute(String name): Возвращает значение атрибута запроса.➕
setAttribute(String name, Object o): Устанавливает атрибут запроса.➕
getInputStream(): Возвращает объект ServletInputStream для чтения бинарных данных из тела запроса.➕
getReader(): Возвращает объект BufferedReader для чтения текстовых данных из тела запроса.➕
getContentType(): Возвращает MIME-тип тела запроса.➕
getContentLength(): Возвращает длину содержимого тела запроса.➕
getRemoteAddr(): Возвращает IP-адрес клиента, который отправил запрос.➕
getRemoteHost(): Возвращает имя хоста клиента, который отправил запрос.Примеры:
Получение параметров запроса
@WebServlet("/example")
public class ExampleServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String paramValue = request.getParameter("paramName");
response.getWriter().println("Parameter Value: " + paramValue);
}
}Установка и получение атрибутов запроса
@WebServlet("/setAttribute")
public class SetAttributeServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setAttribute("attributeName", "attributeValue");
RequestDispatcher dispatcher = request.getRequestDispatcher("/getAttribute");
dispatcher.forward(request, response);
}
}
@WebServlet("/getAttribute")
public class GetAttributeServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String attributeValue = (String) request.getAttribute("attributeName");
response.getWriter().println("Attribute Value: " + attributeValue);
}
}Получение информации о клиенте
@WebServlet("/clientInfo")
public class ClientInfoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String clientIp = request.getRemoteAddr();
String clientHost = request.getRemoteHost();
response.getWriter().println("Client IP: " + clientIp);
response.getWriter().println("Client Host: " + clientHost);
}
}Интерфейс
ServletRequest используется для получения и обработки данных запроса от клиента. Он предоставляет методы для доступа к параметрам запроса, атрибутам, информации о клиенте и данным тела запроса, что делает его важным компонентом для обработки HTTP-запросов в сервлетах.🔥 ТОП ВОПРОСОВ С СОБЕСОВ
🔒 База собесов | 🔒 База тестовых