JSP基础 - 监听器基本功能

一、监听器概述

监听你的web应用,监听许多信息的初始化,销毁,增加,修改,删除值等

Servlet监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后可以做一些必要的处理。

  1. ListenerServlet的监听器
  2. 可以监听客户端的请求、服务端的操作等。
  3. 通过监听器,可以自动激发一些操作,如监听在线用户数量,当增加一个HttpSession时,给在线人数加1。
  4. 编写监听器需要实现相应的接口
  5. 编写完成后在web.xml文件中配置一下,就可以起作用了
  6. 可以在不修改现有系统基础上,增加web应用程序生命周期事件的跟踪

servlet规范中为每种事件监听器都定义了相应的接口,在编写事件监听器程序时只需实现这些接口就可以了。一些Servlet事件监听器需要在web应用程序的部署 文件描述符文件(web.xml)中进行注册(注册之后才能发布),一个web.xml可以注册多个servlet事件监听器。
 web服务器按照它们在web.xml中注册顺序来加载和注册这些servlet事件监听器。servlet事件监听器的注册和调用过程都是由web容器自动完成的,当发生被监听对象被创建,修改,销毁等事件时,web容器将调用与之相关的servlet事件监听器对象的相应方法(所监听到的对象如果在创建、修改、销毁事件触发的时候就会调用这些监听器这就相当于面向事件编程的概念),用户在这些方法中编写的事件处理代码(相当于JS中的事件响应)即被执行。
 由于在一个web应用程序中只会为每个事件监听器类创建一个实例对象,有可能出现多个线程同时调用一个事件监听对象的情况,所以要注意多线程安全问题。

二、监听器类型

按监听的对象划分:servlet2.4规范定义的事件有三种:

  1. 用于监听应用程序环境对象(ServletContext)的事件监听器
  2. 用于监听用户会话对象(HttpSession)的事件监听器
  3. 用于监听请求消息对象(ServletRequest)的事件监听器

按监听的事件类项划分:

  1. 用于监听域对象自身的创建和销毁的事件监听器
  2. 用于监听域对象中的属性的增加和删除的事件监听器
  3. 用于监听绑定到HttpSession域中的某个对象的状态的事件监听器

在一个web应用程序的整个运行周期内,web容器会创建和销毁三个重要的对象,ServletContext,HttpSession,ServletRequest

其中Context 为JSP页面包装页面的上下文。由容器创建和初始化,管理对属于JSP中特殊可见部分中已命名对象的访问. 该接口用来定义了一个Servlet的环境对象。也可认为这是多个客户端共享的信息,它与session的区别在于应用范围的不同,session只对应于一个用户。

你可能感兴趣的:(JSP基础 - 监听器基本功能)