zoukankan      html  css  js  c++  java
  • java_day30_javaWeb三大组件之过滤器Filter

    过滤器filter

    一.简介及原理

      1.Filter也称之为过滤器,管理web服务器的所有web资源,如jsp,servlet,html,图片等.如实现URL级别的权限访问控制

      2.Filter接口中有一个doFilter方法,配置对哪个web资源进行拦截后,WEB服务器每次在调用web资源的service方法之前,都会先调用一下filter的doFilter方法,request请求和response响应都会进入配置的filter,根据filter内的代码决定客户端请求到的服务器的资源,如拦截,动态页面静态化等处理

    二.过滤器注册和映射Filter

      1.注册

      <filter>
        <filter-name>FirstFilter</filter-name>  //Filter名
        <filter-class>com.lanou3g.code0523.FirstFilter</filter-class> //Filter的全限定类名
      </filter>

      2.映射:通过web.xml注册,也可以通过注解@WebFilter注册
    <filter-mapping>元素用于设置一个 Filter 所负责拦截的资源。一个Filter拦截的资源可通过两种方式来指定:Servlet 名称和资源访问的请求路径
      <filter-name>子元素用于设置filter的注册名称。该值必须是在<filter>元素中声明过的过滤器的名字
      <url-pattern>设置 filter 所拦截的请求路径(过滤器关联的URL样式)
      <servlet-name>指定过滤器所拦截的Servlet名称。
      <dispatcher>指定过滤器所拦截的资源被 Servlet 容器调用的方式,可以是REQUEST,INCLUDE,FORWARD和ERROR之一,默认REQUEST。用户可以设置多个<dispatcher> 子元素用来指定 Filter 对资源的多种调用方式进行拦截。

    <filter-mapping>
        <filter-name>testFilter</filter-name>   //映射的过滤器名称
        <url-pattern>/index.jsp</url-pattern>  //拦截的URL
        <dispatcher>REQUEST</dispatcher>  //拦截request请求及请求重定向
        <dispatcher>FORWARD</dispatcher>  //拦截请求转发
    </filter-mapping>

     <dispatcher> 子元素可以设置的值及其意义:
        REQUEST:当用户直接访问页面时,Web容器将会调用过滤器。如果目标资源是通过RequestDispatcher的include()或forward()方法访问
    时,那么该过滤器就不会被调用。
        INCLUDE:拦截请求包含.
        FORWARD:拦截请求转发.
        ERROR:如果目标资源是通过声明式异常处理机制调用时,那么该过滤器将被调用。除此之外,过滤器不会被调用。

  • 相关阅读:
    SVG路径字符串格式
    PHP pdf转化为图片(PNG)
    将博客搬至CSDN
    SAC学习笔记(一)——SAC安装
    《把时间当作朋友》读书笔记(十四)--积累(二)
    《把时间当作朋友》读书笔记(十四)--积累(一)
    《把时间当作朋友》读书笔记(十三)-- 应用(二)
    《把时间当作朋友》读书笔记(十二)-- 应用(一)
    《把时间当作朋友》读书笔记(十一)-- 交流
    Wixtools打包工具实战总结
  • 原文地址:https://www.cnblogs.com/memo-song/p/9078212.html
Copyright © 2011-2022 走看看