接口回调
就是把一个接口的实现类,作为参数传进一个方法里面,这个方法的形参就是这个接口。
web的监听器,共8个,划分为三种类型
监听三个作用域创建和销毁
pageContext 只作用于页面,这里可以忽略
request httpServletRequest
session httpSession
application ServletContext
创建和销毁
1.ServletContextListener
ServletContext的创建:启动服务器的时候
ServletContext的销毁:关闭服务器的时候,从服务器移除项目
2.ServletRequestListener
request的创建:访问服务器的任意资源都会有请求出现
访问html:会
访问jsp:会
访问servlet:会
request的销毁:服务器已经对这次请求做出了响应
3.HttpSessionListener
session的创建:调用getSession
html:不会
jsp: 会
servlet: 不会(request.getSession才会)
session的销毁:超时30分钟、非正常关闭销毁、正常关闭服务器(序列化)
session的销毁
监听器的使用都是先定义一个类实现接口,实现里面的创建和销毁方法。然后再web.xml里面注册这个监听器。
实现接口
public class MyRequestListener implements ServletRequestListener {
@Override
public void requestDestroyed(ServletRequestEvent sre) {
System.out.println("servletrequest 销毁了");
}
@Override
public void requestInitialized(ServletRequestEvent sre) {
System.out.println("servletrequest 初始化了");
}
}
注册监听器
<listener>
<listener-class>com.itheima.listener.MyRequestListener</listener-class>
</listener>
监听器的作用
ServletContextListener
利用它来,在创建的时候完成一些资源的初始化工作
HttpSessionListener
统计在线人数