千家信息网

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

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要讲解了"Listener、Filter、Servlet初始化顺序是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Listener、Fi
千家信息网最后更新 2025年11月13日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安全错误 数据库的锁怎样保障安全 网络安全的手手抄报图片 微信公众号怎么有服务器 海南海事局网络安全等级保护 河北专业的模具软件开发费用 辽宁智慧养老软件开发公司 江苏大型软件开发成本价 广州视频会议服务器厂家 东营采购软件开发定制 临汾学校显示屏触摸软件开发公司 网络安全审计项目背景 最严重的网络安全工作 坦克世界国际服服务器怎么进不去 三级数据库和网络技术哪个好考 广东曙光服务器维修调试哪家便宜 龙战下载软件开发 服务器双电池 富士康软件开发招聘 云服务器绑定多个域名 互联网网络安全制度 客户服务器流程图 服务器设备编码在哪看 公共信息网络安全监察员 广州熠鑫软件开发有限公司 重庆北斗卫星授时服务器虚拟主机 首选dns服务器保存不了 公共网后端服务器错误 网络安全统筹兼顾 赵彦网络安全 邵阳县网络安全委员会主任 经济管理外文数据库
0