Вы находитесь на странице: 1из 2

Клиент посылает запрос на сервер ожидая страницу.

Эта
страница может быть как статической так и динамической. В
случае со статической сервер просто отправит необходимый
файл с сервера. В случае с динамической сервер отправляет
запрос в helper application (web container). В этом контейнере
находятся сервлеты (java file, который принимает запрос от
клиента, обрабатывает его и обеспечивает клиента ответом).
Этот сервлет конвертирует запрос, обработает его и
отправит html страницу. В контейнере есть специальный
файл, названный Deployment descriptor (web.xml), в котором
написано для какого запроса какой сервлет должен быть
вызван. Начиная с версии 3.0 web.xml можно заменить
аннотациями.
Чтобы написать сервлет, нам необходимо унаследовать
HttpServlet.
Сервлеты, это небольшие программы, которые работают на
стороне сервера и обрабатывают запросы Запросы приходят
от HTTP клиента Либо БД Тоесть у нас есть клиент и сервер
Клиент посылает запрос серверу, ожидая страницу Страница
может быть динамической или статической. На статической
запрос посылается на сервер на котором уже есть файл Этот
файл просто отправляется клиенту, и запрос выполняется На
динамической клиент посылает запрос а сервер не имя
ответа, должен его сделать Запрос идет в контейнер
сервлетов В нашем случае это Tomcat В котором и лежат
наши сервлеты Необходимый Сервлет обрабатывает запрос
и отправляет html страницу В контейнере есть Deployment
Descriptor тоесть web.xml Там мы подписываем маппинги Но
я делал через аннотации (через мапинги я тоже умею, просто
потом через аннотации все переделлал) Запросов к одному
сервлету может быть несколько разных Чтобы создать
сервлет Нужно создать класс, расширяющий HttpServlet,
который и обеспечит нам весь функционал Ответ из сервлета
идет в виде объекта response У нас есть интерфейс Servlet у
которого есть метод getServletConfig, он используется для
получения стартап информации А также getServletInfo,
который возвращает различную информацию У любого
сервлета есть жизненный цикл Если мы посмотрим внутрь
HttpServlet мы увидим там такие методы как init(), service(),
destroy(). Первый запускается когда поступает запрос от
юзера, и инициализирует наш сервлет, второй метод
обрабатывает запрос и возвращает ответ, а 3 уничтожает
сервлет из памяти, в последствии он уходит в Garbage
Collector Для передачи информации из одного сервлета в
другой у нас есть такой интерфейс как Request Dispatcher.
RequestDispatcher rd = req.getDispatcher(url сервлета)
rd.forward(req, resp) для передачи информации в другой
сервлет.Также есть sendRedirect Так же можно использовать
Session Также в сервлете есть такие вещи как куки, кэш, и т.д.
Jsp это файл, который позволяет делать динамические
страницы, содержит в себе как html, так и Java код, который
конвертируется контейнером сервлетов в сервлет Если
посмотреть как он это делает под капотом, то каждый тег он
выводит с помощью our.println() В jsp есть 4 вида тегов - <%
%> - скриплет - он для работы в service методе <!% %> -
декларейшин - для работы в само классе сервлета,
используется для инициализации переменных и т.д. <%@.
%> для импорта Еще есть такой тег <%= %> Его пишут чтобы
вывести на страницу без использования out.println По-моему
expression называется Томкет создает для нас объекты
request, response, pageContext, out, session, application, config
Есть такая штука как JSTL Это библиотека тегов jsp

Вам также может понравиться