web-2/README.md

52 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Лабораторная работа #2
![https://new.akarpov.ru/files/loWvbepFAhFyHrnHkBZx](https://new.akarpov.ru/media/files/sanspie/MwNdh/areas.png)
Вариант 544
Разработать веб-приложение на базе сервлетов и JSP, определяющее попадание точки на координатной плоскости в заданную область.
Приложение должно быть реализовано в соответствии с шаблоном MVC и состоять из следующих элементов:
ControllerServlet, определяющий тип запроса, и, в зависимости от того, содержит ли запрос информацию о координатах точки и радиусе, делегирующий его обработку одному из перечисленных ниже компонентов. Все запросы внутри приложения должны передаваться этому сервлету (по методу GET или POST в зависимости от варианта задания), остальные сервлеты с веб-страниц напрямую вызываться не должны.
AreaCheckServlet, осуществляющий проверку попадания точки в область на координатной плоскости и формирующий HTML-страницу с результатами проверки. Должен обрабатывать все запросы, содержащие сведения о координатах точки и радиусе области.
Страница JSP, формирующая HTML-страницу с веб-формой. Должна обрабатывать все запросы, не содержащие сведений о координатах точки и радиусе области.
Разработанная страница JSP должна содержать:
"Шапку", содержащую ФИО студента, номер группы и номер варианта.
Форму, отправляющую данные на сервер.
Набор полей для задания координат точки и радиуса области в соответствии с вариантом задания.
Сценарий на языке JavaScript, осуществляющий валидацию значений, вводимых пользователем в поля формы.
Интерактивный элемент, содержащий изображение области на координатной плоскости (в соответствии с вариантом задания) и реализующий следующую функциональность:
Если радиус области установлен, клик курсором мыши по изображению должен обрабатываться JavaScript-функцией, определяющей координаты точки, по которой кликнул пользователь и отправляющей полученные координаты на сервер для проверки факта попадания.
В противном случае, после клика по картинке должно выводиться сообщение о невозможности определения координат точки.
После проверки факта попадания точки в область изображение должно быть обновлено с учётом результатов этой проверки (т.е., на нём должна появиться новая точка).
Таблицу с результатами предыдущих проверок. Список результатов должен браться из контекста приложения, HTTP-сессии или Bean-компонента в зависимости от варианта.
Страница, возвращаемая AreaCheckServlet, должна содержать:
Таблицу, содержащую полученные параметры.
Результат вычислений - факт попадания или непопадания точки в область.
Ссылку на страницу с веб-формой для формирования нового запроса.
Разработанное веб-приложение необходимо развернуть на сервере WildFly. Сервер должен быть запущен в standalone-конфигурации, порты должны быть настроены в соответствии с выданным portbase, доступ к http listener'у должен быть открыт для всех IP.
Вопросы к защите лабораторной работы:
Java-сервлеты. Особенности реализации, ключевые методы, преимущества и недостатки относительно CGI и FastCGI.
Контейнеры сервлетов. Жизненный цикл сервлета.
Диспетчеризация запросов в сервлетах. Фильтры сервлетов.
HTTP-сессии - назначение, взаимодействие сервлетов с сессией, способы передачи идентификатора сессии.
Контекст сервлета - назначение, способы взаимодействия сервлетов с контекстом.
JavaServer Pages. Особенности, преимущества и недостатки по сравнению с сервлетами, область применения.
Жизненный цикл JSP.
Структура JSP-страницы. Комментарии, директивы, объявления, скриптлеты и выражения.
Правила записи Java-кода внутри JSP. Стандартные переменные, доступные в скриптлетах и выражениях.
Bean-компоненты и их использование в JSP.
Стандартные теги JSP. Использование Expression Language (EL) в JSP.
Параметры конфигурации JSP в дескрипторе развёртывания веб-приложения.
Шаблоны проектирования и архитектурные шаблоны. Использование в веб-приложениях.
Архитектура веб-приложений. Шаблон MVC. Архитектурные модели Model 1 и Model 2 и их реализация на платформе Java EE.