Обробка даних, отриманих із HTML-форм
Сервлети можуть приймати дані, одержувані сервером у складі HTML-форм. Розглянемо приклад, у якому використовується клас ServletUtilities (листинг 4.5).
Лістинг 4.5. Файл ThreeParams.java
package paket; import java.io.*; import javax.servlet.*;
import javax.servlet.http.*; import java.util.*;
+ request.getParameter("paraml") + "\n" + " param2: "
+ request.getParameter("param2") + "\n" + " param3: "
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException < doGet (request, response);
У файл web.ini вставимо наступний фрагмент:
servlet.param.className: paket.ThreeParams servlet.param.url: /param
У програмі описано три параметри:

Мал. 4.6. Відображення параметрів запитів
Можлива ситуація, коли сервлет не знає, які імена параметрів можуть бути передані із запитом. Нижче наведено приклад (листинг 4.6), який переглядає всі імена параметрів запиту та становить таблицю. При цьому враховуються також імена, які не мають значення, а також імена, що мають кілька значень. Імена параметрів переглядаються за допомогою функції getParameterNames. Це метод інтерфейсу HttpServletRequest (точніше суперінтерфейсу ServietRequest). Метод повертає java.util. Enumeration. Список імен можна переглядати з використанням перевірки наявності наступного елемента за допомогою методу добільшогоелементів, а потім із застосуванням методу nextElement. Метод nextEiement повертає змінну типу об'єкта, потім перетворює результат до string і передає його getParameterVaiues. Таким чином, створюється масив рядків string. Якщо масив виходить довжиною в одинелемент і містить порожній рядок, то сервлет створює наступний текст:"No Value".Якщо
масив має кілька елементів, вони будуть виведені у вигляді маркованого списку (рис. 4.7).
Лістинг 4.6. Файл ShowParameters.java
package paket; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*;
public class ShowParameters extends HttpServlet < public void doGet(HttpServletRequest request,
" + title + " \n" + "CTABLE B0RDER=1 ALIGN=CENTER>\n" + "\n" + " Parameter Name Parameter Value(s)"); Enumeration paramt-Iames = request.getParametert-Iames(); while (paramt-Iames.String paramName = (String) paramt-Iames .nextElement () ;
out. println ("
" + paramt-Iame + "\n ");String [] paramValues = request. getParameterValues (paramt-Iame) ;
if (paramValues.length == 1)
String paramValue = paramValues[0]; if (paramValue.length() == 0)
out.print("No Value"); else
out. println ("\n");
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException < doGet (request, response);
Додатки, які вносяться до файлу web.ini:
servlet.showparam.className: paket.ShowParameters servlet.showparam.url: /showparam
Мал. 4.7. Читання всіх параметрів
Для збору інформації від користувача та передачі його серверу, у тому числі сервлету, використовуються HTML-форми. Як приклад наведемо файл, що містить HTML-форму (листинг 4.7).
Лістинг 4,7, Файл PostForm.html
A Sample FORM using POST
String paramName = (String) paramt-Iames .nextElement () ;
out. println ("
String [] paramValues = request. getParameterValues (paramt-Iame) ;
if (paramValues.length == 1)
String paramValue = paramValues[0]; if (paramValue.length() == 0)
out.print("No Value"); else
out. println ("\n");
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException < doGet (request, response);
Додатки, які вносяться до файлу web.ini:
servlet.showparam.className: paket.ShowParameters servlet.showparam.url: /showparam

Мал. 4.7. Читання всіх параметрів
Для збору інформації від користувача та передачі його серверу, у тому числі сервлету, використовуються HTML-форми. Як приклад наведемо файл, що містить HTML-форму (листинг 4.7).
Лістинг 4,7, Файл PostForm.html
A Sample FORM using POST
A Sample FORM using POST
Зібрані дані показано на рис. 4.8. ОбробленіДані представлені на рис. 4.9.

Мал. 4.8. Дані, що вводяться користувачем

Мал. 4.9. Дані, оброблені сервлетом