Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[КОМП СИСТЕМЫ] / metod-ks-2.doc
Скачиваний:
36
Добавлен:
07.02.2016
Размер:
421.89 Кб
Скачать

2.2.2 Перший сервлет

Створимо каталог для майбутнього сервлета: назвемо його ех1. У цьому каталозі створимо файл Hello.java і наберемо програмний код, який має вигляд:

import java.io.*;

import javax.servlet.*;

public class Hello extends GenericServlet

{

public void service(ServletRequest request, ServletResponse response)

throws ServletException, IOException

{

response.setContentType("text/html");

PrintWriter pw = response.getWriter();

pw.println("<html><head><title>Hello Servlet");

pw.println("</title></head><body>");

pw.println("<H1 align=center>Hello World!<H1>");

pw.println("</body></html>");

pw.close();

}

}

Дамо пояснення коду:

  • для організації вводу-виводу імпортуємо пакет java.io.*;

  • імпортуємо пакет javax.servlet.*, який містить необхідні класи і інтерфейси;

  • успадковуємо клас GenericServlet: це забезпечує функціональні можливості, які полегшують обробку запитів і формування відповідей на них; дає можливість використовувати метод service();

  • аргумент request є об'єктом класу ServletRequest і дає можливість читати дані, отримані через клієнтський запит;

  • аргумент response – об'єкт класу ServletResponse – дозволяє сформувати відповідь клієнту;

  • метод setContentType() встановлює MIME-тип HTTP-відповіді (text/html), яка примушує браузер інтерпретувати текстовий формат відповіді в HTML-код; MIME-тип (Multipurpose Internet Mail Extension) призначений для вказівки типу вмісту заголовка HTTP-повідомлення;

  • метод getWriter() заповнює об'єкт PrintWriter; тепер все, що ми запишемо в цей потік (за допомогою методу println()), посилатиметься клієнтові як HTTP-відповідь на HTTP-запит. У нашому випадку це буде HTML-документ з рядком "Hello World!".

Далі нам необхідно відкомпілювати даний файл і, як успішний результат, отримати файл з розширенням *.class. Фактично немає необхідності тримати java-файл в даній директорії; можна його перемістити або видалити.

У директорії ех1 створюємо новий каталог, який назвемо WEB-INF, - в цьому каталозі створюємо новий каталог, який назвемо classes, тепер помістимо в нього наш файл.

У директорії «WEB-INF» створюємо конфігураційний файл web.xml, текст якого приведений нижче (Призначення елементів файлу web.xml викладено в Додатку Б):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>

<web-app>

<display-name>Hello servlet</display-name>

<description>Simple servlet</description>

<servlet>

<servlet-name>Hello</servlet-name>

<servlet-class>Hello</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>Hello</servlet-name>

<url-pattern>/h</url-pattern>

</servlet-mapping>

</web-app>

Файл web.xml дає серверу інформацію про ім'я і клас завантажуваного сервлета. У свою чергу, вміст тега <servlet-mapping> повідомляє, з яким ім'ям сервлета асоціювати URL. Ми вказали /h, тому, при введенні в браузер http://localhost:8080/ех1/h, безпосередньо завантажується наш сервлет.

Тепер в каталозі ех1 створюємо просту веб-сторінку, яка матиме посилання на наш сервлет. Назвемо її index.html. Коли вводитимемо в браузері http://localhost:8080/ех1, автоматично відкриється веб-сторінка, оскільки файл з ім'ям index.html завантажується браузером автоматично. Текст HTML-файлу наведений нижче:

<html>

<head>

<title> The source to get servlet </title>

</head>

<body>

<a href="h">GET_SERVLET</a>

</body>

</html>

Помістимо каталог ex1 в каталог webapps сервера Apache Tomcat.

Завантажуємо сервер Apache Tomcat, запустивши файл startup.bat, який знаходиться за адресою: tomcat\bin

Запустимо браузер і введемо: http://localhost:8080/ex1/

Відкриється створена нами веб-строрінка index.html, і у вікні браузера побачимо повідомлення «».

Натиснувши на посилання, ми завантажимо в адресний простір сервера localhost (127.0.0.1) сервлет Hello і побачимо у вікні браузера повідомлення Hello! Такий же результат отримаємо і безпосередньо ввівши URL сервлета: http://localhost:8080/ex1/h.

Для завершення роботи з Apache Tomcat запустіть файл shutdown.bat.

Соседние файлы в папке [КОМП СИСТЕМЫ]