zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java Web三大组件

JAVA组件Web 三大
2023-09-11 14:22:56 时间

Java Web三大组件指的是Servlet、Filter、Listener。

一、Listener简介

Listener表示服务器的事件监听器,用于监听三个域对象的状态(对象、对象的属性)变化,三个域对象分别是:

ServletContext

HttpSession

HttpServletRequest

Java Web 服务器端的事件监听器一共分为三大类,八小类。

1.ServletContext
    ServletContextListener
    ServletContextAttributeListener

2.HttpSession
    HttpSessionListener
    HttpSessionActivationListener
    HttpSessionBindingListener
    HttpSessionAttributeListener

3.HttpServletRequest
    ServletRequestListener
    ServletRequestListener

日常开发中会用到的ServletContext的事件监听,对应的API就是ServletContextListener。

二、Listener使用

我们介绍ServletContextListener。

文档翻译:

此接口的实现接收有关更改它们所属的 Web 应用程序的 servlet 上下文的通知。要接收通知事件,必须在 Web 应用程序的部署描述符中配置实现类。

ServletContextListener负责监听 ServletContext 的创建和销毁,就可以监听服务器的启动和关闭。这样我们就可以在服务器启动和关闭的时候执行一些任务,比如服务器启动之后读取Spring Framework 的配置文件(applicationContext.xml),创建Spring的核心容器。

有两种使用方式:

1.采用 javax.servlet.annotation 包下的 WebListener 注解;

 2.通过ServletContext定义的addListener 方法进行注册。

三、三大组件初始化顺序与销毁顺序

  1. Listener
  2. Filter
  3. Servlet

销毁顺序,反过来的:

  1. 先销毁 Servlet;
  2. Filter
  3. Listener