lab3
.docxМИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра ВТ
ОТЧЕТ
по лабораторной работе
по дисциплине «Распределенные системы»
Тема: JAVA SERVER PAGES
Студенты гр. |
|
|
|
|
|
|
|
|
|
|
|
Преподаватель |
|
Бекенева Я.А.. |
Санкт-Петербург
2023
Задание
Создать JSP, который печатает строку текста, использующую тэг <H1>. Установить цвет этого текста случайным образом, используя код, встроенный в JSP страницу.
Ход работы
JSP (JavaServer Pages) — технология, позволяющая веб-разработчикам создавать содержимое, которое имеет как статические, так и динамические компоненты. Страница JSP содержит текст двух типов: статические исходные данные, которые могут быть оформлены в одном из текстовых форматов HTML, SVG, WML, или XML, и JSP- элементы, которые конструируют динамическое содержимое.
JSP позволяет разработчику:
- получать данные из веб-страницы в Java-код;
- отправлять данные из Java кода на веб-страницу;
- писать Java-код, прямо внутри html (однако злоупотреблять этим не стоит).
Необходимость знания JSP можно оценить довольно высоко по нескольким причинам:
- JSP — одна из основных Java web-технологий;
- JSP широко используется в большинстве компаний и проектов;
- JSP бесшовно интегрируется с сервлетами Java внутри контейнера сервлетов.
Рисунок 1. Цикл жизни JSP
Чем JSP лучше Сервлетов?
Отвечает за возможность создания и управления HTML динамического типа. В данном случае процессы будут осуществляться более просто.
Для работы не требуется загрузка дополнительного программного обеспечения или документов. Пример – можно обойтись без файла класса java и web.xml.
Обработка ведется web-container для всех корректировок кода. Это приводит к тому, что JSP помогает избежать перекомпиляции.
Структура проекта представлена на рис. 2
Рисунок 2. Структура проекта
Контейнер переводит JSP документ в код java. Он выступает сервлетом.
Перевод проводится в автоматическом режиме через веб-сервер.
Последний находит и проверяет достоверность, а затем производит запись сервлета для JPS page.
В jsp мы можем писать Java код двумя способами:
<% %> - не выводит на экран ничего. Описывается только java-код. Не обязан возвращать строку из java кода, чтобы эта строка вставилась в html. Здесь описывается логика веб приложения.
<%= %> - здесь мы обязаны вернуть объект класса string. Объект вставится в html. Автоматическая конвертация объекта в тип string в данном случае.
В отличии от сервлета нам не пришлось прописывать пути mapping в файле web.xml. Он прописывается за нас на моменте первого запуска сервера.
В jsp разделение логики и представления не решается.
Рисунок 3. Пример работы сервера
Рисунок 4. Пример работы сервера
Приложение 1. Листинг
Index.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ page import="java.util.*" %> <%@ page import="java.awt.*" %> <!DOCTYPE html> <html> <head> <title>JSP - Hello World</title> </head> <body> <%--Рандомный цвет (возвращает тип String) --%> <% Random random = new Random(); int nextInt1 = random.nextInt(0xffffff + 1); int nextInt2 = random.nextInt(0xffffff + 1); String bgColor = String.format("#%06x", nextInt1); %> <%--Статическая строка--%> <h1 style="color: <%=bgColor%>"><%= "JSP - Hello World!" %></h1> <% bgColor = String.format("#%06x", nextInt2);%> <%--Динамическая строка--%> <h2 style="color: <%=bgColor%>"><%= new java.util.Date() %></h2> </body> </html>