servlet规范扩展
监听器接口
介绍
- 一组来自于servlet规范下的接口,共有8个接口。在servlet-api jar包中
- 监听器接口需要由开发人员亲自实现,http服务器提供的jar包中并没有对应的实现类
- 监听器接口用于监控【作用域对象的生命周期的变化时刻】以及【作用域对象共享数据变化时刻】
作用域对象
- 在servlet规范中,认为在服务端内存中可以在某些条件下为两个servlet之间提供数据共享方案的对象,被称为【作用域对象】
- servlet规范下的作用域对象 cookie存在于浏览器内存中
- servletcontext:全局作用域对象
- httpsession:会话作用域对象
- httpservletrequest:请求作用域对象
监听器接口实现类开发规范:三步
- 根据要监听的实际情况,选择对应的监听器接口进行实现
- 重写监听器接口中声明的【监听事件处理方法】
- 在web.xml文件中将监听器接口实现类注册到http服务器
servletcontextlistener接口
作用
-
通过这个接口可以合法的检测全局作用域对象被初始化和销毁的时刻
-
监听事件处理方法:
- contextinitlized():在全局作用域对象被http服务器初始化时被触发
- contextDestory():在全局作用域对象被http服务器销毁时触发
servletcontextattributelistener接口
作用
-
通过这个接口可以合法的检测全局作用域对象共享数据的变化时刻
-
监听事件处理方法:
- contextadd():在全局作用域对象添加共享数据时被触发
- contextreplaced:更新共享数据时被触发
- contextremove:删除共享数据时触发
全局作用域对象共享数据变化时刻
servletcontext application = request.getservletcontext();
application.setAttribute("key1",100);//新增共享数据
application.setAtrribute("key1",200);//更新共享数据
application.removeAttribute("key1");//删除共享数据