zoukankan      html  css  js  c++  java
  • 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 都是单例的,就是说在运行时只存在一个实例。

  • 相关阅读:
    HIbernate小结
    玩耍Hibernate之缓存
    Java学习之IO流总结
    java基础学习之对象转型
    玩耍Hibernate系列(一)补充--基础知识
    玩耍Hibernate系列(二)--基础知识
    玩耍Hibernate系列(一)--基础知识
    Struts2拦截器的使用 (详解)
    struts1 和 struts2中Action什么时候实例化
    Java基础学习总结--Java对象的序列化和反序列化
  • 原文地址:https://www.cnblogs.com/labimeilexin/p/6738859.html
Copyright © 2011-2022 走看看