Слушатель событий – это класс Java, реализующий один или более интерфейсов слушателей событий интерфейсов.
Перечень интерфейсов слушателей и их назначение приведен в табл. 5.1
Идентификатор интерфейса | Обрабатываемые события |
ServletContextListener | Создание и разрушение контекста |
ServletContextAttributeListener | Добавление, удаление, модификация атрибута контекста |
HttpSessionListener | Создание и уничтожение сеанса |
HttpSessionAttributeListener | Добавление, удаление, модификация атрибута сессии |
Как и фильтры, слушатели создаются и инициализируются web-контейнером при загрузке web-сервера.
Слушатель может реализовывать интерфейс HttpSessionListener и обрабатывать события двух типов: создание (метод sessionCreated) и уничтожение сеанса (sessionDestroyed).
HttpSessionAttributeListener обрабатывает события добавления (attributeAdded), удаления (attributeRemoved), модификации(attributeReplaced) атрибута сессии. Слушатель может реализовывать интерфейс ServletContextListener и обрабатывать события двух типов: создание (метод contextCreated) и уничтожение контектса (contextDestroyed).
ServletContextAttributeListener обрабатывает события добавления (attributeAdded), удаления (attributeRemoved), модификации(attributeReplaced) атрибута сессии.
|
|
package lst;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class Lst1 implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent se) {
HttpSession ss = se.getSession();
System. out. println("Lst1:sessionCreated:Id="
+ ss.getMaxInactiveInterval());
ss.setMaxInactiveInterval(10);
System. out. println("Lst1:sessionCreated:Id=" + ss.getId());
}
public void sessionDestroyed(HttpSessionEvent se) {
System.out.println("Lst1:sessionDestroyed:Id="
}
}
<listener>
<listener-class>lst.Lst1</listener-class>
</listener>
<listener>
<listener-class>lst.Lst2</listener-class>
</listener>
26. Технология JDBC. Состав JDBC. Структура jdbcприложения. Типы JDBC-драйверов.
Java Database Connectivity (JDBC) – это технология, применяемая для доступа приложений на языке Java к реляционным базам данных. Пользуясь интерфейсом JDBC java-приложения, могут выполнить SQL-запрос к СУБД, а также получить и обработать результат этого запроса. В самом первом приближении JDBC – это реализация интерфейса Microsoft ODBC, но для платформы Java.
Интерфейс JDBC реализован в виде двух пакетов java.sql и javax.sql.
Основная задача, решаемая JDBC – это организация интерфейса между компонентой web-приложения и сервером реляционной базы данных. Условно этот интерфейс можно разбить на две части: JDBC API и JDBC-драйвер.
JDBC API – это набор java-классов и интерфейсов, входящих в состав пакетов java.sql и javax.sql, которыми оперирует разработчик приложения. Этот набор классов является стандартным и не зависит от типа sql-базы данных, с которой осуществляет взаимодействие приложение. Все приложения, использующие JDBC одинаковым способом выполняют sql-операции. JDBC API входит в состав спецификации Java Platform Standard Edition.
|
|
JDBC-драйвер – это программное средство, взаимодействующее с JDBC API стандартным образом и учитывающее специфику конкретной sql-базы данных. JDBCдрайвер входит в состав программного обеспечения сервера базы данных и как правило, разрабатывается, компаниями-производителями СУБД. Спецификация JDBC предусматривает четыре типа драйверов.
Первый тип jdbc-драйверов является мостом между JDBC API и драйвером ODBC. Второй тип драйверов только частично реализован на языке Java и является зависимым от платформы.
Третий тип драйверов полностью реализован на языке Java, но взаимодействует с сервером через клиентскую часть СУБД.
Четвертый тип драйверов тоже полностью реализован на языке Java и не требует никого посредника для связи с сервером базы данных (тонкий клиент). Обычно jdbc-драйвер представляет собой jar-файл.
Драйвер может работать в 2 режимах: толстый и тонкий клиент.
Толстый клиент требует установки клиентской части СУБД на клиентской машине. Через строку подключения, указываем имя и пароль.
Тонкий клиент требует знания всех параметров подключения: хост, порт, имя сервиса, имя БД, пользователь, пароль и т.д.
В JDBC входят несколько классов, с помощью которых можно передать строку SQL запроса, и получить ответ в виде объект класса Result. Можно вызывать процедуры и функции, который исполняются на стороне СУБД и принимать ответы.