Афоризм
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
Михаил Жванецкий
Последние статьи

 • Активности Android
Многоэкранные Android приложения
 • Fragment dynamic
Динамическая загрузка фрагментов в Android
 • Fragment lifecycle
Жизненный цикл Fragment'ов в Android
 • Fragment example
Пример Fragment'ов в Android
 • Data Binding
Описание и пример Data Binding
 • Пример MVVM
Пример использования MVVM в Android
 • Компонент TreeTable
Описание компонента TreeTable для Swing
 • Пример TreeTable
Пример использования TreeTable
 • Хранилища Android
Внутренние и внешние хранилища данных
 • Пример SQLite
Пример использования SQLite в Android
 • WebSocket
Описание и пример реализации WebSocket
 • Визуальные компоненты
Улучшен компонент выбора даты из календаря
 • Анимация jQuery
Описание и примеры анимации элементов DOM
 • APK-файл Android
Создание apk-файла для android устройств, .dex файлы
 • платформа JaBricks
Платформа OSGi-приложения JaBricks
Поддержка проекта

Если Вам сайт понравился и помог, то будем признательны за Ваш «посильный» вклад в его поддержку и развитие
 • Yandex.Деньги
  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 :

  • public String getServletName()
  • public ServletContext getServletContext()
  • public String getInitParameter(String name)
  • public java.util.Enumeration getInitParameterNames()

Особый интерес представляет метод 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 определяет несколько методов, представленные в таблице:

getAttribute () Гибкий способ получения информации о сервере через пары атрибутов имя/значение. Зависит от сервера.
GetMimeType () Возвращает тип MIME данного файла.
getRealPath () Этот метод преобразует относительный или виртуальный путь в новый путь относительно месторасположения корня HTML-документов сервера.
getServerInfo () Возвращает имя и версию сетевой службы, в которой исполняется сервлет.
getServlet () Возвращает объект Servlet указанного имени. Полезен при доступе к службам других сервлетов.
getServletNames () Возвращает список имен сервлетов, доступных в текущем пространстве имен.
log () Записывает информацию в файл регистрации сервлета. Имя файла регистрации и его формат зависят от сервера.

Следующий пример показывает, как сервлет использует 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 используется для перехода на другую страницу.

  Рейтинг@Mail.ru