Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
prikladnoe5.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
94.05 Кб
Скачать

Мочоный В. О КИ-132

Лабораторна работа № 5 Знайомство з Java технологіями Sevlet та JSP

4.1 Ціль работы:

  • Ознайомитися з технологіями та для реалізації інтерфейсу користувача.

  • Створити програму для роботи з реляційною базою даних через WEB інтерфейс.

7.2 Короткі теоретичні відомості

7.2.1 Технологія Servlet

Сервлети - це особливим чином написані (згідно специфікації) Java-програми, які виконуються на сервері і виклик яких здійснюється дистанційно через web-броузер за допомогою HTTP протоколу.

Докладну інформацію про сервлети можна знайти за адресою:

https://docs.oracle.com/javaee/5/tutorial/doc/bnafd.html

Програму, що призначена для збереження сервлетів, системної підтримки та забезпечення їх життєвого циклу, називають контейнером. Контейнер може працювати як повноцінний самостійний веб-сервер, або бути постачальником сторінок для іншого веб-сервера. В лабораторній роботі ми будемо використовувати в якості контейнера Appache Tomcat.

Сервлети повинні реалізувати інтерфейс Servlet. Цей інтерфейс потребує реалізації 5 методів:

  • void init(ServletConfig config) - метод автоматично викликається один раз при виконанні сервлета для його ініціалізації. Параметр ServletConfig надається контейнером сервлетів, який виконує сервлет;

  • ServletConfig getServletConfig() - метод повертає посилання на об'єкт, який реалізує інтерфейс ServletConfig. Цей об’єкт надає доступ до інформації про конфігурацію сервлета;

  • String getServletInfo() - метод повертає рядок з інформацією про сервлетах;

  • void service(ServletRequest request, ServlerResponse response) - контейнер сервлета викликає цей метод для відповіді на клієнтський запит сервлету;

  • void destroy() - метод викликається після завершення виконання сервлета контейнером сервлетів. Даний метод слід застосовувати для звільнення ресурсів, використовуваних сервлетом, такі як відкриті файли або відкриті з'єднання з БД.

Але сервлети, що працюють з клієнтом через Web, зазвичай реалізують інтерфейс Servlet не напряму, а через клас HttpServlet. Метод service у цьому класі перевизначається, щоб мати можливість розрізнити стандартні методи запитів, одержувані від Web-браузера клієнта. Типи запитів HTTP є get, post, delete, options, put, trace. Найбільш поширені - get (одержання HTML документа) і post (відправка інформації на сервер). У класі HttpServlet визначені методи doGet і doPost для обробки реакції на ці запити.

Про різницю між doGet та doPost можна почитати в інтернеті. За замовчуванням, Eclipse створює шаблон сервлету, у якому метод doPost викликає метод doGet.

Створюючи шаблон сервлету Eclipse додає до заголовку класу анотацію @WebServlet, яка визначає ім’я сервлету, що буде використовуватися для звертання до сервлету з інших компонентів проекту, наприклад, із html сторінки. За замовчування ім’я сервлету співпадає з ім’ям класу, без розширення. Наприклад, @WebServlet("/MyServlet").

Головне призначення сервлетів – це реалізація обробки інформації, але його можна використовувати і для формування веб-сторінок. Необхідний для цього HTML-код формується за допомогою об’єкта типу PrintWriter, який можна отримати через параметр response методу doGet.

Нижче наведено приклад формування сторінки з таблицею квадратів чисел:

protected void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

int min = 2, max = 9;

response.setCharacterEncoding("UTF-8");

PrintWriter out = response.getWriter();

out.write(

"<html>"+

"<head><title>Тест Servlet</title><meta charset=\"UTF-8\"> </head>”+

“<body> <center> <b>"+

"Квадрати цілих чисел<br>"+

"від "+min+" до "+max+

"<b> <br> <hr>"+

"<table border=\"1\">"+

"<tr> <th>Число</th> <th>квадрат числа</th> </tr>");

for(int i=min;i<=max;i++){

out.write(

"<tr>"+

"<td align=\"center\">"+i+"</td>"+

"<td align=\"center\">"+i*i+"</td>"+

"</tr>");

}

out.write("</table> </center> </body> </html>");

}

Але формування html тексту у сервлетах не схвалюється.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]