zoukankan      html  css  js  c++  java
  • servlet过滤器Filter(理论篇)

    为了减少servlet容器在服务器端对信息的判断量,产生了servlet过滤器。

    servlet过滤器是在java servlet规范2.3中定义的,他能够对servlet容器的请求和响应对象进行检查和修改,servlet过滤器本身不产生请求和响应对象,它只是提供过滤作用。

    servlet过滤器能够在servlet被调用之检查request对象,修改request header和request内容。

              在servlet被调用之检查request对象,修改request header和request内容。

                             servlet过滤器负责过滤的web组件可以是servlet、jsp或HTML文件

    所有的servlet过滤器都必须实现javax.servlet.Filter接口,这个接口有三个过滤器类必须时间的方法。

    init():可以读取web.xml文件servlet过滤器的初始化参数,在一启动服务器就开始执行

    doFilter():执行过滤器操作

    destory():释放servlet过滤器占用的资源

    串行过滤器的工作流程,即多个Filter一次过滤

    问题:

    1.在servlet过滤器能否访问application范围内的共享数据?

    可以的,因为servlet过滤器首先调用FilterConfig的getServletContext()方法,获取servletContext,再调用servletContext的getAttribute方法来获得application范围内的共享数据。

    在web.xml中,配置

    <Filter>

      <init-param>

      <param-name>hello</param-name>

      <param-value>world</param-value>

      </init-param>

    </Filter>

    2.servlet过滤器只能对servlet容器进行过滤?

    不正确,servlet过滤器可以对servlet、jsp、html文件过滤

  • 相关阅读:
    hdu1561--树形dp<依赖背包>
    hdu--1520--树形dp<写起来就是深搜啊>-<滚动数组优化>
    hdu--1595-另类最短路
    hdu--1599--最小环<会加深你对floyd的理解>
    hdu--1851--尼姆博弈&&巴什博弈<也有人用了sg可惜我还不懂>
    hdu--4920--原来一直写了速度慢的矩阵乘法
    hdu--4912--终于解脱了
    hdu--4947--我太天真了
    hdu--2576--高中数学..
    hdu--2579--第二次与女孩的约会
  • 原文地址:https://www.cnblogs.com/feiguo/p/3802385.html
Copyright © 2011-2022 走看看