千家信息网

Listener、Filter、Servlet初始化顺序是什么

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"Listener、Filter、Servlet初始化顺序是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Listener、Fi
千家信息网最后更新 2026年11月02日Listener、Filter、Servlet初始化顺序是什么

这篇文章主要讲解了"Listener、Filter、Servlet初始化顺序是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Listener、Filter、Servlet初始化顺序是什么"吧!

Listener、Filter、Servlet都有一个初始化的过程,对应的方法分别为:

contextInitialized(ServletContextEvent arg0)

init(FilterConfig filterConfig)

init(ServletConfig config)

那么它们的初始化顺序是什么呢?

Listener > Filter > Servlet

TestServlet.java

Java代码

package com.cos;     import java.io.IOException;     import javax.servlet.GenericServlet;     import javax.servlet.ServletConfig;     import javax.servlet.ServletException;     import javax.servlet.ServletRequest;     import javax.servlet.ServletResponse;         public class TestServlet extends GenericServlet {         @Override        public void init(ServletConfig config){             System.out.println("Servlet 初始化 。。。");         }         @Override        public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {             System.out.println("Servlet service 。。。");         }     }

TestFilter.java

Java代码

package com.cos;     import java.io.IOException;     import javax.servlet.Filter;     import javax.servlet.FilterChain;     import javax.servlet.FilterConfig;     import javax.servlet.ServletException;     import javax.servlet.ServletRequest;     import javax.servlet.ServletResponse;         public class TestFilter implements Filter{         public void init(FilterConfig filterConfig) throws ServletException {             System.out.println("Filter 初始化。。。");         }         public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {             System.out.println("doFilter 。。。");             chain.doFilter(request, response);         }         public void destroy() {             System.out.println("Filter 销毁。。。");         }     }

TestListener.java

Java代码

package com.cos;     import javax.servlet.ServletContextEvent;     import javax.servlet.ServletContextListener;         public class TestListener implements ServletContextListener{         public void contextInitialized(ServletContextEvent arg0) {             System.out.println("Listener 初始化。。。");         }         public void contextDestroyed(ServletContextEvent arg0) {             System.out.println("Listener 销毁。。。");         }     }

web.xml

Xml代码

                        sservlet-name>            com.cos.TestServletservlet-class>        servlet>                    sservlet-name>            /loginurl-pattern>        servlet-mapping>                    ffilter-name>            com.cos.TestFilterfilter-class>        filter>                    ffilter-name>            /*url-pattern>        filter-mapping>                    com.cos.TestListenerlistener-class>        listener>    web-app>

启动tomcat后,在控制台里以此打印出:

Listener 初始化。。。

Filter 初始化。。。

信息: Server startup in 675 ms

可以看出Listener的初始化最早,Filter次之。他俩的初始化都是在容器启动完成之前初始化的。

Servlet没有初始化,原因是没有匹配的请求进来。

初始化的顺序跟Listener、Filter、Servlet在web.xml中的顺序无关

而多个Filter或多个Servlet的时候,谁的mapping在前面,谁先初始化。

感谢各位的阅读,以上就是"Listener、Filter、Servlet初始化顺序是什么"的内容了,经过本文的学习后,相信大家对Listener、Filter、Servlet初始化顺序是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

顺序 代码 学习 内容 多个 信息 原因 容器 就是 思路 情况 控制台 文章 方法 时候 是在 更多 知识 知识点 篇文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡豆 上海挚品互联网科技 狮子座互联网科技 火传媒上海互联网科技 大白互联网科技 顺网科技2021年互联网排名 济南和联互联网科技有限公司 农村开互联网科技讲堂 深圳国际航运科技和互联网 恒银科技与互联网金融 花神(南京)互联网科技有限公司 洛阳昕诺飞互联网科技有限公司 青海科技产业互联网发展 华夏恒生互联网科技013171 恒生互联网科技业指数调整周期 工业互联网展湾科技股份有限公司 有人说阿里系是互联网科技企业 互联网科技和医药行业 恒生科技指数 中概互联网 利用互联网等科技手段 互联网科技工作委员会副主任毛军 科技互联网项目 互联网科技小贷 互联网科技公司电话 中国的互联网科技企业的崛起 昭通云南众福互联网科技有限公司 互联网大会黑科技排名 成都互联网科技公司工作好不好 深圳互联网科技园地址 杭州融税互联网科技有限公司
0