zoukankan      html  css  js  c++  java
  • filter和serlvet联系和区别

     

    Filter

    Servlet

    接口

    实现Filter接口

    实现Servlet接口

    使用步骤

    1、创建类,继承接口

    2、实现方法

    init()

    doFilter()

    destroy()

    3、配置WEB-INF/web.xml

    1、创建类,继承接口

    2、实现方法

    init()

    service()

    destroy()

    getServletConfig()

    getServletInfo()

    3、配置WEB-INF/web.xml

    初始化时间

    Servlet容器启动之后即初始化

    Servlet类被调用之后初始化、先于Filter调用。

    初始化可以在容器启动后被调用但需要配置。

    调用顺序

    1. 按照web.xml中的映射配置顺序按照配置条件从后向前调用

    2. 层次调用doFilter()方法中FilterChain.doFilter()之前的内容

    3. 调用Servlet中的service()方法

    4. service方法执行完毕后,层次调用doFilter()中FilterChain.doFilter()之后的方法,顺序与之前的相反

    按照web.xml中的映射配置顺序按照配置条件从后向前调用第一个满足条件的Servlet,调用之前事先执行满足条件的Filter,不存在层次调用Servlet问题

    销毁

    服务器停止后销毁,晚于Servlet销毁之后

    服务器停止后销毁

    作用

    1. 在HttpServletRequest到达Servlet之前,拦截客户的HttpServletRequest。

    2. 根据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据。

    3. 在HttpServletResponse到达客户端之前,拦截HttpServletResponse。

    4. 根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。

    主要是处理客户端的请求并将其结果发送到客户端。

  • 相关阅读:
    自己搭建二维码接口
    HTML CSS SPRITE 工具
    Codeforces Round #636 (Div. 3) 题解
    Codeforces Round #612 (Div. 1+Div. 2)
    计树问题小结 version 2.0
    Educational Codeforces Round 85 (Rated for Div. 2) 题解
    luogu6078 [CEOI2004]糖果
    luogu [JSOI2012]分零食
    多项式全家桶
    生成函数小结
  • 原文地址:https://www.cnblogs.com/diumyself/p/15647375.html
Copyright © 2011-2022 走看看