Интерфейс ServletConfig

Ранее уже упоминался метод getServletConfig(), но не было сказано об интерфейсе ServletConfig, с помощью которого контейнер сервлетов передает информацию сервлету в процессе его инициализации.

Некоторые методы класса:

String getServletName() – определение имени сервлета;

Enumeration getInitParameterNames() – определение имен параметров инициализации сервлета из дескрипторного файда web.xml;

String getInitParameter(String name) – определение значения конкретного параметра по его имени.

Чтобы задать параметры инициализации сервлета MyServlet, необходимо в тег <servlet> его описания вложить тег <initparam> с описанием имени
и значения параметра в виде:

<servlet>

<servlet-name>MyServletname</servlet-name>

<servlet-class>chapt18.MyServlet</servlet-class>

<init-param>

<param-name>mail.smtphost</param-name>

<param-value>mail.bsu</param-value>

</init-param>

<init-param>

<param-name>mail.smtpport</param-name>

<param-value>25</param-value>

</init-param>

</servlet>

Тогда для доступа к параметрам инициализации сервлета и их дальнейшего использования можно применить следующую реализацию метода init() сервлета:

public void init() throws ServletException {

ServletConfig sc = getServletConfig();

// определение набора имен параметров инициализации

Enumeration e = sc.getInitParameterNames();

while(e.hasMoreElements()) {

// определение имени параметра инициализации

String name = (String)e.nextElement();

// определение значения параметра инициализации

String value = sc.getInitParameter(name);

//

}

}

Такими же возможностями обладает и объект ServletContext, который содержит практически всю информацию о среде, в которой запущен и выполняется сервлет, например:

getServletContext().getInitParameter("mail.smtpport");

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100