410013796724260
• Webmoney
R335386147728
Z369087728698
Класс ServletContextСервлет живет и функционирует в пределах процесса сервера и может получать информацию о своем окружении в различное время. Информация о сервере доступна в любое время. Кроме этого, любой запрос может содержать дополнительную специфическую информацию. Конфигурация сервлета ServletConfigИнтерфейс javax.servlet.ServletConfig используется для передачи конфигурационной информации сервлету. Каждый сервлет имеет свой собственный объект ServletConfig, за создание экземпляра которого отвечает контейнер сервлетов. Для установки параметров конфигурации сервлета необходимо использовать теги <init-param>, <param-name>, <param-value> в дескрипторе приложения web.xml. Следующий пример описывает сервлет customer, имеющего версию 2.3.123. <servlet> <servlet-name>customer</servlet-name> <servlet-class>common.servlets.Customers</servlet-class> <init-param> <param-name>version</param-name> <param-value>2.3.123</param-value> </init-param> </servlet> В следующем коде на этапе инициализации сервлета в консоль выводится информация о версии сервлета : public void init(ServletConfig config) { System.out.println ("Версия сервлета : " + config.getInitParameter("version")); } Информация о конфигурации передается сервлету при помощи параметра ServletConfig метода init(). Параметры инициализации сервлета доступны через метод getInitParameterNames(). Пример сервлета с использованием ServletConfig для чтения параметров настройки представлен на странице Пример сервлета, hello! Интерфейс ServletConfig включает следующие методы, имена которых говорят сами за себя и составляют суть интерфейса javax.servlet.ServletConfig :
Особый интерес представляет метод getServletContext(), возвращающий ссылку на контекст сервлета. Контекст сервлета ServletContextИнформация о контексте сервера доступна через объект ServletContext. Сервлет может получить этот объект, вызывая метод getServletContext() объекта ServletConfig. Необходимо помнить, что этот объект передается сервлету во время инициализации в методе init(). ServletContext - это интерфейс, определяющий доступ к следующим полезнейшим функциям : public Object getAttribute(String name) public java.util.Enumeration getAttributeNames() public void setAttribute(String name, Object object) public void removeAttribute(String name) Четыре метода для работы с аттрибутами. Роль аттрибутов выполняет любой объект любого класса. Цель данных функций - пересылать между несвязанными друг с другом сервлетами разные объекты. Доступ к параметрам, с которыми был запущен сервер, можно получить используя следующие функции : public String getInitParameter(String name) public java.util.Enumeration getInitParameterNames() Эти функции открывают доступ к таким параметрам, как имя хоста, порт и прочие полезности. Интерфейс ServletContext определяет несколько методов, представленные в таблице:
Следующий пример показывает, как сервлет использует Web-сервер для записи сообщения в свой log-файл во время инициализации: import java.io.*; import javax.servlet.*; public HelloWorld implements Servlet { private ServletConfig config; public void init (ServletConfig config) throws ServletException { this.config = config; ServletContext sc = config.getServletContext(); sc.log( "Started OK!" ); } } Контекст сервлета ServletContext можно получить и из объекта сессии HttpSession. В примере использования графической библиотеки Chart.js при динамическом формировании страницы сервлетом ServletContext используется для перехода на другую страницу. |