- Сервлеты и JSP в Java
- HTTP (протокол передачи гипертекста)
- Введение в сервлеты
- Жизненный цикл
- Загрузка
- Инициализация
- Обработка запросов
- Уничтожение
- Шаги по созданию
- Универсальные
- HTML-файл
- Файл класса Java
- Generic Servlet Example
- web.xml
- Отслеживание сеансов
- Файлы cookie
- Как работает Cookie?
- Пример
- Страницы сервера Java
- Элементы сценариев
- Тег скриптлета
- Тег выражения
- Тег объявления
- Объекты запросов и ответов
- Пример неявного объекта запроса JSP
- Неявный объект ответа JSP
Сервлеты и JSP в Java
Web – это система интернет-серверов, которая поддерживает форматированные документы. Документы форматируются с использованием языка разметки, называемого HTML (HyperText Markup Language), который поддерживает ссылки на другие документы, такие как графические, аудио- и видеофайлы и т. д.
HTTP (протокол передачи гипертекста)
HTTP используется клиентами и серверами для общения в сети. Он считается протоколом без сохранения состояния, поскольку поддерживает только один запрос на соединение. С помощью HTTP клиенты подключаются к серверу для отправки одного запроса, а затем отключаются. И этот механизм позволяет большему количеству пользователей подключаться к данному серверу в течение определенного периода времени. Здесь клиент отправляет HTTP-запрос, а сервер отвечает клиенту с помощью HTML-страницы, используя HTTP.
Введение в сервлеты
Сервлет – это программный модуль Java на стороне сервера, который обрабатывает запросы клиентов и реализует интерфейс сервлета. Могут отвечать на любые запросы, и они обычно используются для расширения приложений, размещаемых на веб-серверах.
Жизненный цикл
Весь жизненный цикл сервлета управляется контейнером сервлета, который использует интерфейс javax.servlet.Servlet для понимания объекта сервлета и управления им.
Жизненный цикл сервлета проходит в основном четыре этапа:
Загрузка
Когда сервер запускается, контейнер сервлета развертывается и загружает все сервлеты.
Инициализация
Затем сервлет инициализируется путем вызова метода init(). Метод Servlet.init() вызывается контейнером Servlet для уведомления о том, что этот экземпляр Servlet успешно создан и готов к запуску.
Обработка запросов
Затем сервлет вызывает метод service() для обработки запроса клиента и вызывается для информирования сервлета о клиентских запросах.
Уничтожение
Наконец, сервлет завершается вызовом destroy(). Метод запускается только один раз за время существования сервлета и сообщает об окончании экземпляра сервлета.
Методы init() и destroy() вызываются только один раз. Наконец, сервлет – это сборщик мусора сборщиком мусора JVM. Итак, на этом завершается жизненный цикл сервлета.
Шаги по созданию
Чтобы создать сервлет, нам нужно выполнить несколько шагов по порядку. Они заключаются в следующем:
- Создать структуру каталогов.
- Создать сервлет.
- Скомпилировать сервлет.
- Добавить сопоставления в файл web.xml.
- Запустить сервер и развернуть проект.
- Доступ к сервлету.
Теперь, основываясь на вышеописанных шагах, давайте создадим программу, чтобы лучше понять, как работает сервлет.
Для запуска программы сервлета у нас должен быть установлен и настроен сервер Apache Tomcat. Eclipse для Java EE предоставляет встроенный Apache Tomcat. Как только сервер настроен, вы можете начать с вашей программы. Следует отметить один важный момент – для любой программы сервлета вам нужно 3 файла – файл index.html, файл классов Java и файл web.xml. Самый первый шаг – создать динамический веб-проект, а затем продолжить.
Теперь давайте рассмотрим пример, в котором будем создавать простой сервлет входа в систему и отображать вывод в браузере.
Сначала создадим файл index.html.
Далее закодируем файл класса Java.
package Edureka; 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; public class Login extends HttpServlet < protected void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException PrintWriter pw=res.getWriter(); res.setContentType("text/html"); String user=req.getParameter("userName"); String pass=req.getParameter("userPassword"); pw.println("Login Success. ") if(user.equals("edureka") pass.equals("edureka")) pw.println("Login Success. "); else pw.println("Login Failed. "); pw.close(); >>
В приведенном выше коде установили условие – если имя пользователя и пароль равны edureka, только тогда он будет отображаться успешно вошли в систему, в противном случае вход будет отказано. После написания файла класса Java последний шаг – добавить сопоставления в файл web.xml. Давайте посмотрим, как это сделать.
Файл web.xml будет присутствовать в папке WEB-INF вашего веб-контента. Если его нет, вы можете щелкнуть по дескриптору развертывания и нажать «Создать заглушку дескриптора развертывания». Как только вы подготовите файл web.xml, нужно добавить в него сопоставления. Давайте посмотрим, как выполняется сопоставление на следующем примере:
http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"version="3.1"> LoginServlet Login Edureka.Login Login /Login index.html
Универсальные
Это независимый от протокола сервлет, который должен переопределять метод service() для обработки клиентского запроса. Метод service() принимает два аргумента: объект ServletRequest и объект ServletResponse. Работа объекта запроса состоит в том, чтобы информировать сервлет о запросе, сделанном клиентом, в то время как объект ответа возвращает ответ клиенту. GenericServlet является абстрактным классом, и у него есть только один абстрактный метод – service(). В этом вся концепция, когда мы создаем универсальный сервлет путем расширения класса GenericServlet, мы должны переопределить метод service().
Теперь давайте посмотрим, как создать и вызвать универсальный сервлет. Будем кодировать 3 файла, как показано ниже:
HTML-файл
Мы создаем файл HTML, который будет вызывать сервлет, как только нажмем на ссылку на веб-странице. Создайте этот файл в папке WebContent. Путь к этому файлу должен выглядеть следующим образом: WebContent / index.html
Click here to call Generic Servlet