Читать «Java 7 (Наиболее полное руководство)» онлайн - страница 406

Ильдар Шаукатович Хабибуллин

Интерфейс Servlet

Как водится в технологии Java, понятие "сервлет" описывается интерфейсом Servlet. Рассмотрим его подробнее.

Ранее уже говорилось о том, что сервлет выполняется в контейнере подобно тому, как апплет выполняется в браузере. Это сходство усиливается тем, что контейнер инициализирует сервлет методом init () так же, как браузер инициализирует апплет, но, в отличие от апплета, у метода init (), описанного интерфейсом Servlet, есть аргумент типа

ServletConfig:

public void init(ServletConfig conf);

Объект, описанный интерфейсом ServletConfig, создается Web-приложением и передается контейнеру для инициализации сервлета. Информация, необходимая для создания объекта, содержится в конфигурационном файле Web-приложения.

Конфигурационный файл

Конфигурационный файл (deployment descriptor) описывает ресурсы, составляющие Web-приложение: сервлеты, их фильтры и слушатели, страницы JSP, документы HTML и XML, изображения и документы других типов. Он формируется при создании Web-приложения и заполняется при установке сервлета и других ресурсов в контейнер. Конфигурационный файл записывается на языке XML и называется web.xml. Он располагается в каталоге WEB-INF, одном из каталогов Web-приложения, и создается вручную, утилитой установки сервлета в контейнер или с помощью IDE, вроде NetBeans или Eclipse. Каждая фирма-производитель контейнера сервлетов предоставляет свою утилиту установки или make-файл, содержащий команды установки. Надо заметить, что вместо построителя make в технологии Java используются другие построители, написанные на языке Java: построитель ant, разработанный Apache Software Foundation в рамках проекта Jakarta, построитель Maven — еще одна разработка Apache Software Foundation, или Ivy — опять-таки разработка Apache.

Утилита установки контейнера Tomcat запускается из браузера, она расположена на его странице /manager/html. Для того чтобы запустить утилиту, в браузере надо набрать примерно такую строку: .

В листинге 26.1 показан фрагмент конфигурационного файла web.xml, созданного для контейнера Tomcat. С языком XML мы познакомимся в главе 28, а пока смотрите разъяснения элементов XML в комментариях.

Листинг 26.1. Конфигурационный файл web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " 2 3.dtd">

<web-app>

Если в запросе не указан ресурс, то вызывается сервлет по умолчанию. Ниже записано его имя "default" и полное имя класса сервлета.

-->

<servlet>

<servlet-name>default</servlet-name>

<servlet-class>

org.apache.tomcat.servlets.DefaultServlet

</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

Если пришел запрос к сервлету, не описанному в данном файле, то вызывается сервлет с именем "invoker".