Свойства это пары переменных состоящие из ключа и его значения, использующиеся для установки конфигурации, создания и инициализации сервлета. Например, в пакете JSDK2.0 servlet.catalog.code = CatalogServlet является свойством, где servlet.catalog.code это ключ со значением CatalogServlet. В пакете JSDK2.1 тоже свойство называется catalog.code = CatalogServlet — свойство, у которого catalog.code это ключ со значением CatalogServlet.

Использование свойств требует от Вас дать имя сервлету. (Строка catalog в имени свойств приведенных выше это имя каталога сервлета.) Имя сервлета дает возможность программе, которая выполняет сервлет, правильно ассоциировать свойства с соответствующими сервлетами. А так же это имя, которое клиент будет использовать, чтобы получить доступ к Вашему сервлету.

Утилиты для запуска сервлетов из пакета JSDK содержат два свойства для сервлетов. Они ассоциируют имя, которое Вы выбрали для Вашего сервлета с:

  • именем класса сервлета;
  • любыми инициализационными параметрами, которые требуются сервлету
 

Класс Servlet

В этом разделе используются укороченные имена свойств пакета JSDK2.1. Если вы используете JSDK2.0, добавляйте servlet. в начало имени свойств.

Свойство, которое ассоциирует имя Вашего сервлета с именем класса сервлета это имя.code. Значение этого свойства - полное имя класса сервлета, включая пакет. Например, если бы классы магазина Duke's Bookstore, были в пакете examples.bookstore, сервлет CatalogServlet включал бы свойство:

catalog.code=examples.bookstore.CatalogServlet

Свойство имя.code именует Ваш сервлет, ассоциируя имя (в данном примере, catalog) с классом (в данном примере, examples.bookstore.CatalogServlet).

Инициализационные параметры

Параметр свойства имя.initParams содержит параметры инициализации сервлета для пакета JSDK2.1. Для сервлетов пакета JSDK2.0, — свойство servlet.имя.initArgs. (в этой части обсуждаются имена свойств пакета JSDK2.1.)

Синтаксис одного инициализационного параметра: имяПараметра = значениеПараметра. Данное свойство (данная пара ключ-значение) должно представлять одну логическую линию. Для читабельности, Вы можете использовать backquote-синтаксис, чтобы свойство могло занимать несколько линий в файле. Например, если магазин берет начальный HTML файл как параметр, начальный аргумент сервлета может выглядеть так:

servlet.bookdb.initArgs=\
        mainFile=examples/bookstore/Bookstore.html

Множественные инициализационные параметры разделяются запятой. Например, сервлет BookDetail получает информацию о книге, соединяясь с реальной базой данных, его начальные аргументы могут выглядеть так:

bookdetails.initParams=\
        user=duke,\
        password=dukes_password,\
        url=fill_in_the_database_url

Файл свойств

Свойства хранятся в текстовом файле с именем по умолчанию servlets.properties для пакета JSDK2.1 и servlet.properties для пакета JSDK2.0. Файл содержит свойства для всех сервлетов, которые будут запущены с помощью утилиты выполнения сервлетов. Вот, например, файл свойств для магазина Duke's Bookstore:

# Этот файл содержит свойства сервлетов из примера Duke's Bookstore.
# ------------------------------------------------------------------
# Главная страница Duke's Bookstore
bookstore.code = BookStoreServlet
# Просмотр всех книг магазина
catalog.code = CatalogServlet
# Информация по конкретной книге
bookdetails.code = BookDetailServlet
# Просмотр книг, выбранных для покупки
showcart.code = ShowCartServlet
# Собираем информацию для покупки выбранных книг
cashier.code = CashierServlet
# Выставляем счет пользователю купившему книги
receipt.code = ReceiptServlet