servelt filter listener 的生命周期

Posted 蜡笔没了芯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了servelt filter listener 的生命周期相关的知识,希望对你有一定的参考价值。

1. servlet 
   当第一次请求一个servlet资源时,servlet容器创建这个servlet实例,并调用他的 
init(ServletConfig config)做一些初始化的工作,然后调用它的service方法处理请求。当第二次请求这个servlet资源时,servlet容器就不在创建实例,而是直接调用它的service方法处理请求,也就是说servlet对象是常驻内存的,是单例,因此不要把一些属性作为servlet的成员变量,避免并发访问问题,当servlet容器关闭或者重新加载web应用时,servlet会调用它的destory()方法,然后就就结束了。 
2 filter ,Listener 
  当web容器启动的时候,去读取每个web应用的web.xml配置文件,当配置文件中配有filter和listener时,web容器实例化listener,filter,然后调用Filter的init(FilterConfig)方法做一些初始化(注意当我们的filter启动错误时,这个web应用将 
不能用),当请求一个资源而这个资源正好被这个过滤器过滤,调用filter的doFilter方法,当servlet容器关闭或者重新加载web应用时,filter会调用它的destory()方法,然后销毁这个对象,listener是当某个事件发生时,调用它特定法,HttpSessionListener 
,当创建一个session时会调用它的sessionCreated()方法,当servlet容器关闭或者重新加载web应用时lister对象被销毁。 
总之,servlet filter listener 都是单例的,就是说在运行时只存在一个实例。

以上是关于servelt filter listener 的生命周期的主要内容,如果未能解决你的问题,请参考以下文章

Java实战之04JavaWeb-07Listener和Filter

java web 最方便的配置filter方法,filter到底怎么配置?

SpringBoot系列教程web篇Listener四种注册姿势

listener、filter、servlet、interceptor在springboot中执行顺序

java中servlet,filter,listener为啥优先级listener>filter>servlet,面试时候怎么回答?

filter,servlet,listener,interceptor