- 监听器
1. 事件监听器:
* 事件:一个动作
* 事件源:动作发生的地方
* 监听器:一个对象,其中包含有监听的响应措施
* 注册监听:将事件,事件源,监听器绑定在一起。当事件源发生特定动作后,执行监听器中的响应措施
- ServletContextListener:监听ServletContext对象的创建与销毁的监听器
1. 监听ServletContext创建的响应措施:
void contextInitialized(ServletContextEvent sce);
2. 监听ServletContext销毁的响应措施:
void contextDestroyed(ServletContextEvent sce);
- ServletContext对象监听器步骤
1. 自定义监听器类,实现ServletContextListener接口
-- 其他的监听器实现其对应的监听器接口
2. 实现接口中定义的抽象方法
3. 配置:
* web.xml配置
<listener>
<listener-class>监听器实现类的全路径</listener-class>
</listener>
* 注解
4. ServletContext对象监听器与服务器生命周期一致,可以用来加载资源和销毁资源
a. 加载资源:一般用于加载全局的资源文件
1. 通过ServletContextEvent对象获取ServletContext对象
sce.getServletContext()
2. 动态加载资源:通过ServletContext对象的getParameter()方法加载
* web.xml中配置资源名称和资源路径
<context-param>
<param-name>资源名称</param-name>
<param-value>资源虚拟路径</param-value>
</context-param>
-- 通过getParameter(资源名称)获取到资源的虚拟路径
* 注意:
在/src/目录下的资源应该写为/WEB-INF/classes/资源名称
-- 通过getRealPath(资源虚拟路径)获取到资源文件在服务器中的真实路径
-- 绑定流对象加载资源文件
* 注解配置
@WebListener
-- 该注解不需要参数
-- 如果需要动态加载资源,仍需要配置<context-param>标签