zoukankan      html  css  js  c++  java
  • Filter与Servlet的区别和联系

     

    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头和数据。

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

  • 相关阅读:
    20150826运算符,if语句
    20150825数据类型以及数据转换
    !!!SQL sever 函数表达
    SQL
    !!!遍历数组之多维数组!
    数组应用之————二分法查找
    数组-冒泡排列
    Homework!---判断多久过生日
    C#——语句!
    C#——语言基础 之 运算符!
  • 原文地址:https://www.cnblogs.com/jimmy-muyuan/p/5722754.html
Copyright © 2011-2022 走看看