Archive

Archive for the ‘Программирование’ Category

Servlet – Класс HttpServlet

Январь 9th, 2011

Источник

Пакеты сервлетов определяют два абстрактных класса, которые реализуют интерфейс Servlet: класс GenericServlet (из пакета javax.servlet) и класс HttpServlet (из пакета javax.servlet.http). Эти классы предоставляют реализацию по умолчанию для всех методов интерфейса Servlet. Большинство разработчиков используют либо класс GenericServlet, либо класс HttpServlet, и замещают некоторые или все методы.

Сервлеты, работающие с клиентами через Web, обычно расширяют класс HttpServlet. Метод service, как правило, переопределяется, чтобы иметь возможность различать стандартные методы запросов, получаемые от Web-браузера клиента. Двумя наиболее распространенными типами запросов HTTP (их также называют методами запросов) являются get и post. Запрос get получает (или извлекает) информацию. Запрос post помещает (или отправляет) данные на сервер. Типичное применение метода post - отправка на сервер информации для аутентификации, или данных из формы, в которую пользователь ввел информацию.

Read more...

, , , , , , , , , ,

Сервлеты. Контекст

Январь 9th, 2011

Источник

Сервлет живет и умирает в пределах процесса сервера. Сервлет может получать информацию о своем окружении в различное время. Во время запуска сервлета доступна информация об инициализации; информация о сервере доступна в любое время, кроме этого, любой запрос может содержать дополнительную специфическую информацию.

Информация об инициализации сервера

Информация об инициализации передается сервлету при помощи параметра ServletConfig метода init(). Каждый Web-сервер обеспечивает свой способ передачи информации об инициализации в сервлет. Если, например, класс сервера DatePrintServlet принимает аргумент инициализации timezone, то необходимо определить следующие свойства в файле servlets.properties:

servlet.dateprinter.code=DatePrinterServlet
servlet.dateprinter.timezone=PST

Эта информация также может быть предоставлена административным средством GUI. В следующем коде сервлет получает доступ к информации timezone на этапе инициализации.

public void init(ServletConfig config)
{
	timeZone = config.getInitParameter("timezone");
}

Объект Enumeration со всеми параметрами инициализации доступен сервлету через метод getInitParameterNames().

Read more...

, , , , , , , ,

Сервлеты. Жизненный цикл

Январь 9th, 2011

Источник

Сервлеты выполняются на платформе Web-сервера как часть того же процесса, что и сам Web-сервер. Web-сервер отвечает за инициализацию, вызов и уничтожение каждого экземпляра сервлета. Web-сервер взаимодействует с сервлетом через простой интерфейс: javax.servlet.Servlet.

Интерфейс javax.servlet.Servlet состоит из трех главных методов:

  • init()
  • service()
  • destroy()

и двух вспомогательных методов:

  • getServletConfig()
  • getServletInfo()

Сходство между интерфейсами сервлета и апплета Java очевидны. Именно так и было спроектировано! Сервлеты являются для Web-серверов тем же самым, чем являются апплеты для Web-броузеров. Апплет выполняется в Web-броузере, выполняя действия по его запросу через специальный интерфейс. Сервлет делает то же самое, работая на Web-сервере.

Read more...

, , , , , , , , , , , , , ,

Сервлеты. Введение

Январь 8th, 2011

Источник

Сервлеты (Servlets) - это java-программы, которые выполняются на серверной стороне Web-приложения. Точно так же, как апплеты динамически расширяют функциональные возможности Web-браузера, сервлеты динамически расширяют функциональные возможности Web-сервера.

Работу сервлета можно описать следующим образом: при приходе запроса от клиента Web-сервер с помощью специального конфигурационного файла может определить, какой сервлет необходимо выполнить. После этого Web-сервер запускает JAVA-машину, которая в свою очередь выполняет сервлет. Сервлет создает HTML-страницу и передает содержимое Web-серверу. Web-сервер отправляет клиенту сформированную сервлетом HTML-страницу.

Сервер по сути является неким контейнером, который загружает сервлеты, выполняет их и, получив от них результат, отправляет его клиенту. Для тестирования сервлета необходимо выполнить следующие два действия:

  • установить сервлет на сервер.
  • послать сервлету запрос на обслуживание
  • Read more...

    , , , , , ,

    Введение в Java Reflection API

    Январь 8th, 2011

    Источник

    Рефлексия (от позднелат. reflexio - обращение назад) - это механизм исследования данных о программе во время её выполнения. Рефлексия позволяет исследовать информацию о полях, методах и конструкторах классов. Можно также выполнять операции над полями и методами которые исследуются. Рефлексия в Java осуществляется с помощью Java Reflection API. Этот интерфейс API состоит из классов пакетов java.lang и java.lang.reflect. С помощью интерфейса Java Reflection API можно делать следующее:

    • Определить класс объекта.
    • Получить информацию о модификаторах класса, полях, методах, конструкторах и суперклассах.
    • Выяснить, какие константы и методы принадлежат интерфейсу.
    • Создать экземпляр класса, имя которого неизвестно до момента выполнения программы.
    • Получить и установить значение свойства объекта.
    • Вызвать метод объекта.
    • Создать новый массив, размер и тип компонентов которого неизвестны до момента выполнения программ.

    Read more...

    , , , , ,