监听器的介绍
- 当相关的监听事件被执行后,监听器会自动执行,监听器属于第三种Servlet,监听的Servlet。
- 负责监听Web程序执行的各个操作,监听器在Web中可以对application,request和session三个对象的操作进行监听。监听器实际上也是依靠实现各种监听接口完成的。监听器的实现,编写一个类,去实现监听接口即可。 和new个class一样new个Listener,命名有语义,next选择相应对象的changes to attributes实现相应对象的监听接口。建议将监听类放到listener包下。
JSP中一共预先定义了9个这样的内置对象,分别为:request、response、session、application、out、pagecontext、config、page、exception 内置对象(又叫隐含对象)特点:
- 由JSP规范提供,不用编写者实例化。
- 通过Web容器实现和管理
- 所有JSP页面均可使用
- 只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)
request对象
request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。
session对象
session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。
application对象
application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量”。
Web监听器概念
Servlet规范中定义的一种特殊类 用于监听ServletContext,HttpSession和ServletRequest等域对象的创建与销毁事件用于监听域对象的属性发生修改的事件可以在事件发生前,发生后做一些必要的处理
监听器的用途
- 统计在线人数和在线用户
- 系统启动时加载初始化信息
- 统计网站访问量
- 跟Spring结合