zoukankan      html  css  js  c++  java
  • Servlet生命周期 、Filter生命周期、Listering(监听器)总结

    Servlet生命周期简述

    (1)加载和实例化 当Servlet容器启动或客户端发送一个请求时,Servlet容器会查找内存中是否存在该Servlet实例,若存在,则直接读取该实例响应请求;如果不存在,就创建一个Servlet实例。

    (2) 初始化 实例化后,Servlet容器将调用Servlet的init()方法进行初始化(一些准备工作或资源预加载工作)。

    (3)服务 初始化后,Servlet处于能响应请求的就绪状态。当接收到客户端请求时,调用service()的方法处理客户端请求,HttpServlet的service()方法会根据不同的请求 转调不同的doXxx()方法。

    (4)销毁 当Servlet容器关闭时,Servlet实例也随时销毁。其间,Servlet容器会调用Servlet 的destroy()方法去判断该Servlet是否应当被释放(或回收资源)

    后面就直接用注解来进行配置

     

    Filter生命周期 

    当服务器启动,就会创建Filter对象(随着Tomcat的启动而创建),并调用init()方法,只调用一次

    当访问资源时,路径与filter拦截路径匹配,会执行Filter中的doFilter方法,这个方法是真正拦截操作的方法。

    当服务器关闭时,会调用Filter中的destroy方法来进行销毁操作。

    监听器

    Listering (监听)  其实就是跟我们的闹钟一样,在上面时候自动触发,

    2个监听

    第一个监听是普通类实现httpSessionBingDinglistering

    它有2个方法,第一个是当我们的对象保存session里面,即,req.getSession.setAttribute是触发valueBound方法。valueUnBound方法也就是当前对象不在session时调用这个方法,第一种是会话失效是失效,,第二种方法是调用remove方法时失效,这个方法不用注解配置,因为他本身不用在web.xml里配置

     

    第二个监听器:实现httpSessionlistering,他同样有2个方法,第一个是当你的session创建的时候触发sessonCreate方法,也就是打开网页的时候就会触发,第二个是当你的session销毁的时候调用sessionDestroy方法,开发之中一般用第二种监听器,它的局限性更好,只要一个注解就解决@WebListen

  • 相关阅读:
    ecshop后台根据条件查询后不填充table 返回的json数据,content为空?
    smarty中判断一个变量是否存在于一个数组中或是否存在于一个字符串中?
    getJSON回调函数不执行问题?
    高德地图关键字搜索删除上一次搜索的Marker
    多表连接查询详解
    网址图标设置
    CSS 引入方式 选择器
    Html 表单标签 Form
    Html 基本标签
    Python Socket实现简单web服务器
  • 原文地址:https://www.cnblogs.com/binghuaZhang/p/10780864.html
Copyright © 2011-2022 走看看