对象作用域
- ServletContext(上下文):整个Web工程共用(所有用户也共用一个)
- 会话作用域Session:针对所有Servlet,但如果用户换了(浏览器换了),Session就不能共同使用了。
- 请求作用域Servlet:只存在一次请求中,请求完成就消失。
监听器
- 监听器就是一个普通的java类,只是实现了特定的接口。这个程序专门用于监控另外一个java对象方法的修改或属性的操作,监听器某一个方法就会被执行
- 是一个专门用于对其他对象身上发生的状态改变或者某些行为进行监听的一个对象。当被监控的对象发生改变会立即调用对应的方法执行操作
监听器概述
- 监听session,request,application这三个对象里存取数据的变化
- 监听器对象可以在事情发生前、发生后可以做一些必要的处理
- Servlet监听器主要目的是给Web应用增加时间处理机制,一边更好的监视和控制Web应用的状态变化
事件源(被监听的对象)
btn.onclick=function(){}
function(){}:执行的行为
event对象:监听器对象,主要保存当前操作的一些行为。
上下文监听器
可以用来产生系统信息,记录日志
首先写一个Java类实现servletContextListener
然后注册监听器
<listener>
<description>servletContextListener</description>
<listener-class>com.lovo.listener.servletContextListener</listener-class>
</listener>
请求对象监听器
- 可以用来统计在线人数,一旦新用户访问肯定会创建一个session,将数据保存到数据库,session一旦销毁就取出数据,减去人数。
请求对象监听器
对象主动监控
- 对象主动实现HttpSessionBindingListener接口进行监控。因为对象new出来后就已经产生了实例,所以不需要注册,只要把Bean对象设置到session域中就会自动调用方法