观察者模式和监听器模式
https://blog.csdn.net/weixin_42915286/article/details/83414878
页面搜索:观察者模式 Observer Pattern
Listener 监听器
Servlet规范中有三大组件:Servlet接口、Listener接口、Filter接口;
Listener监听器是一种设计模式,是观察者设计模式的一种实现,所以需要先学习观察者设计模式,再学习Listener设计模式;
Servlet规范中定义了八个监听器接口,都要学习;
要监听的对象是:
request、session、servletContext;
监听的是这三个对象的创建和销毁:添加、删除、修改、Session钝化和活化操作;
ServletRequestListener
用于完成对Reqeust对象的创建和销毁的监听;
即:当Request对象被创建或被被销毁时,会触发该监听器中相应方法的执行;
监听器类加上@WebListener
@WebListener
public class MyRequestListener implements ServletRequestListener {
@Override
public void requestInitialized(ServletRequestEvent sre) {
System.out.println("请求对象被创建");
}
@Override
public void requestDestroyed(ServletRequestEvent sre) {
System.out.println("请求对象被销毁");
}
}
启动类加上:@ServletComponentScan
@ServletComponentScan
resources - static 新建 index.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>
<body>
show here.
</body>
</html>
访问该html时,返回:
请求对象被创建
请求对象被销毁
ServletRequestAttributeListener