Бесплатный курс по Java: от основ до продвинутого уровня
Слушатели (Listeners) в Java-сервлетах
Часто бывает нужно проследить выполнение каких-то действий в сессии или контексте и т.д.
Для этого используются слушатели.
Например, для прослушивания событий происходящих с аттрибутами реализуется интерфейс ServletContextAttributeListener.
В примере слушателя ниже определены методы, которые будут срабатывать когда в контекст добавляются, удаляются или заменяются аттрибуты. Мы будем уведомлены о событиях с аттрибутами.
Можно, например, отслеживать точное время когда аттрибут был удален, добавлен или изменен или можно инициализировать какие-то данные при каких-то событиях, иногда это может пригодиться.
Интерфейсов слушателей довольно много. Для примера рассмотрим ServletContextAttributeListener.
Пример программы:
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletContextAttributeListener;
import javax.servlet.annotation.*;
@WebListener //пометим что класс является слушателем
public class ServletContextAttributeListenerExample
implements ServletContextAttributeListener{
//Этот метод вызывается
//при добавлении атрибута в объект ServletContext.
public void attributeAdded(ServletContextAttributeEvent scab){
System.out.println(“An attribute was added to the ”
+ “ServletContext object”);
}
//Этот метод вызывается, когда атрибут удаляется
//из объекта ServletContext.
public void attributeRemoved(ServletContextAttributeEvent scab){
System.out.println(“An attribute was removed from ”
+ “the ServletContext object”);
}
//Этот метод вызывается при замене атрибута
//в объекте ServletContext.
public void attributeReplaced(ServletContextAttributeEvent scab){
System.out.println(“An attribute was replaced in ”
+ “the ServletContext object”);
}
}
Сервлет вызывающий метод слушателя
Ниже простейший сервлет, в котором просто добавляется аттрибут в контекст. При добавлении аттрибута должен будет вызваться переопределенный нами метод attributeAdded из класса определенного нами выше.
Используйте AsyncContext в Java сервлетах для асинхронной обработки задач. Узнайте, как избежать простоя потоков и повысить производительность веб-приложений с примерами кода.
Time to read: 11
Азы работы с Java Server Pages (JSP)
Основы JSP: создание первой JSP-страницы, преобразование JSP в сервлеты, преимущества перед чистым HTML. Практическое руководство по началу работы с Java Server Pages.
Time to read: 17
Комментарии в JSP
Разбираем два типа комментариев в JSP: HTML и JSP. Узнайте, как правильно использовать теги и , а также другие JSP-директивы для эффективной разработки.