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

Структура веб-модуля

Начиная с версии спецификации Java Servlet 2.2, которая была принята в 1999 г., процесс внедрения сервлетов на веб-сервер стандартизирован и теперь на всех сервлет-контейнерах этот процесс примерно одинаков.

Все сервлеты и вспомогательные файлы объединяются в так называемые «веб-приложения» или «веб-модули», которые уже размещаются на веб-сервере.

Все файлы веб-модуля размещаются в одном каталоге. Этот каталог должен иметь определенную структуру и включает следующие элементы:

Каталог/файл,

назначение

Описание

/

документы

В корне веб-модуля располагаются файлы, которые будут непосредственно доступны клиенту для загрузки с веб-сервера (HTML-файлы, CSS-файлы, изображения, JSP-страницы и т. п.).

Например: myapp/index.html, myapp/style.css, myapp/img/pic1.jpg, myapp/guestbook.jsp.

/WEB-INF/web.xml

конфигурационный файл веб-модуля

Этот файл также называют дескриптором развертывания (deployment descriptor) или просто дескриптором веб-модуля.

В каталоге WEB-INF часто располагают и другие конфигурационные файлы, которые используются веб-модулем.

/WEB-INF/classes/

каталог с классами

Здесь размещаются откомпилированные сервлеты и любые другие классы. Например: myapp/WEB-INF/classes/HelloServlet.class.

/WEB-INF/lib/

библиотеки классов

Сюда можно поместить библиотеки, которые используются веб-модулем. Например: myapp/WEB-INF/lib/mysql_driver.jar.

Одно из основных назначений дескриптора web.xml — это указание URL, по которым будут доступны сервлеты для клиентов. Пример web.xml:

<?xml version="1.0"?>

<web-app>

<servlet>

<servlet-name>servlet1</servlet-name>

<servlet-class>HelloServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>servlet1</servlet-name>

<url-pattern>/hello</url-pattern>

</servlet-mapping>

</web-app>

В теге servlet-class указан класс сервлета, в url-pattern — URL сервлета, servlet-name — это название сервлета, которое используется в пределах web.xml.

Запуск сервлета

Чтобы выполнить сервлет HelloServlet с помощью веб-сервера Tomcat, необходимо выполнить следующие шаги:

  1. В каталоге webapps создать подкаталог для веб-модуля (назовем его myapp), расположив файлы следующим образом:

C:\Tomcat\webapps\myapp

└───WEB-INF

│ web.xml

└───classes

└───HelloServlet.class

Каталог расположения Tomcat может отличаться.

  1. Запустить Tomcat, если он еще не запущен (bin\startup).

  2. Набрать в браузере: http://localhost:8080/myapp/hello (или адрес сервера вместо localhost, если сервер находится на другом компьютере).

Архив веб-модуля

Если веб-модуль заархивировать в JAR-архив (архиватор поставляется вместе с J2SE) и переименовать в файл с расширением WAR (например, myapp.war), то получим так называемый «web archive» (архив веб-модуля).

Если такой файл разместить в каталоге webapps, то Tomcat его автоматически разархивирует и сделает доступным клиентам.

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