Электронный магазин на Java и XML



Инициализация сервлета


Когда контейнер сервлета загружает код и создает экземпляр класса сервлета, API гарантирует, что первым будет вызван метод init и что он будет выполнен прежде, чем начнется обработка любых запросов пользователя. API сервлета обеспечивает передачу параметров инициализации вновь созданному экземпляру, используя объект класса ServletCongigClass.

До появления версии 2.2 API сервлетов каждый производитель использовал свой способ конфигурирования настроек инициализации. Теперь, когда компания Sun выбрала основанную на XML спецификацию, можно рассчитывать, что появится единая стандартная конфигурация.

Листинг 3.3 содержит документ XML, используемый для задания параметров инициализации сервлетов, которые мы будем обсуждать в главе 7.

Листинг 3.3. Задание параметров инициализации сервлетов (web.xml)

<web-app>

<servlet><servlet-name>cattest</servlet-name>

<servlet-class>com.XmlEcomBook.catalog.CatalogTestServ </servlet-class>

</servlet>

<servlet><servlet-name>catalog</servlet-name>

<servlet-class>com.XmlEcomBook.catalog.CatalogServ </servlet-class>

<init-param>

<param-name>workdir</param-name>

<param-value>e:\\scripts\\XMLgifts</param-value>

</init-param>

</servlet>

<servlet><servlet-name>Questionnaire</servlet-name>

<servlet-class>com.XmlEcomBook.Chap07.QuestionnaireServ </servlet-class>

<init-param>

<param-name>homedir</param-name>

<param-value>e:\\scripts\\questionnaire</param-value>

</init-param>

</servlet>

<servlet><servlet-name>Qanalysis</servlet-name>

<servlet-class>com.XmlEcomBook.Chap07.QanalysisServ </servlet-class>

<init-param>

<param-name>homedir</param-name>

<param-value>e:\\scripts\\questionnaire</param-value>

</init-param>

</servlet>

</web-app>

В методе init сервлета QuestionnaireServ параметр с именем homedir используется для того, чтобы задать значение Srting с именем homedir:

homedir = config.getlnitParameter("homedir");

Здесь config —это объект ServletConfig, переданный методу init или полученный из метода getServletConfigO. Помимо этого, метод init обычно устанавливает связь с базами данных и открывает файлы регистрации.




Содержание  Назад  Вперед