Servlet, Filter, Listener 启动与执行顺序
- 1、启动顺序 **Listener -> Filter -> Servlet**
- 2、记忆口诀
- 3、执行顺序
💖The Begin💖点点关注,收藏不迷路💖 |
在Java Web应用中,Servlet、Filter和Listener的启动与执行顺序至关重要,它们遵循着固定的流程:
1、启动顺序 Listener -> Filter -> Servlet
- 1.1 Listener(监听器):最先加载,监听应用生命周期等事件。
启动时机:
- Web应用启动时,容器会首先加载并初始化Listener。
作用:
- 监听Web应用中的特定事件,如ServletContext的创建和销毁、HttpSession的创建和销毁等。
- 在这些事件发生时执行相应的逻辑,如初始化资源、清理数据等。
- 1.2 Filter(过滤器):随后初始化,处理请求前后的预处理和后处理。
初始化:
- 在Web应用启动且Listener初始化之后,Filter会被初始化。
作用:
- 在Servlet处理请求之前或之后,对请求和响应进行预处理和后处理。
- 例如,进行请求验证(如身份验证、授权)、日志记录、字符编码转换等。
- Servlet(服务器端程序):最后初始化,处理具体业务逻辑。
初始化:
- 在Filter之后,Servlet会被初始化。
作用:
- 处理客户端发送的请求,并生成响应返回给客户端。
- 是Web应用中最核心的业务处理单元,负责执行具体的业务逻辑。
2、记忆口诀
理(Listener)发(Filter)师(Servlet)
这个口诀形象地帮助记忆它们的启动顺序。
3、执行顺序
需要注意的是,虽然启动顺序是固定的,但执行顺序(特别是在处理请求时)可能因Filter的配置和请求的具体路径而有所不同。Filter可以配置为拦截特定的URL模式,从而对符合条件的请求进行过滤处理。
💖The End💖点点关注,收藏不迷路💖 |