Filter的作用是在请求到达web资源(HTML、css、Servlet、Jsp)之前拦截,做一个预处理。

  创建一个类实现Filter接口,在web.xml中对文件进行配置

                  <filter>
<filter-name>Filter的别名</filter-name>
<filter-class>Filter的全类名</filter-class>
</filter>
<filter-mapping>
<filter-name>别名</filter-name>
<url-pattern>需要Filter拦截的资源地址</url-pattern>
</filter-mapping>

  Filter的生命周期:

    构造器在服务器启动时调用,只调用一次,Filter是单例多线程的。

    init():构造器被调用后调用

    doFilter():每一次拦截请求时都会调用。参数有:ServletRequest request 请求报文,ServletResponse response响应报文,FilterChain chain用于放行请求。

          chain.doFilter(request,response)放行请求。

    destroy方法在项目停止时调用。

  url-pattern设置

    精确匹配:目标资源地址和url-pattern地址一模一样时拦截。如/1.jsp

    路径匹配:访问在url-pattern配置路径下的目标资源时拦截,如/jsp/*

    后缀匹配:访问资源和url-pattern后缀一样就会拦截。如*.jsp

    拦截Servlet:Filter的url-pattern与Servlet的一致或者在filter-mapping标签下添加一个servlet-name标签。

  多个Filter的执行顺序由filter-mapping的配置顺序决定。

  dispatcher

    Filter默认只会拦截直接向目标资源发送的请求,而像转发之类的请求不会拦截

    可以在在filter-mapping的dispatcher标签中来指定过滤器要拦截的请求类型:

    <dispatcher>REQUEST</dispatcher>

   代表拦截发送到目标资源的直接请求,如果不指定dispatcher默认值就是request

   如果在filter-mapping设置了dispatcher则按照设置的内容来

   <dispatcher>FORWARD</dispatcher>

   FORWARD代表会拦截通过转发访问目标资源的请求。

   <dispatcher>INCLUDE</dispatcher>

   INCLUDE会拦截动态包含的请求。

   <dispatcher>ERROR</dispatcher>

   ERROR是拦截在web.xml中声明的错误页面的

    我们可以在web.xml文件进行一个错误页面的映射,通过如下标签:

   <error-page>

    <error-code></error-code>

   <location>/4.jsp</location>

   </error-page>

    error-code指的是发生错误的代码

    location 发生错误以后去到的页面

JavaWeb的过滤器Filter的更多相关文章

  1. Javaweb基础--->过滤器filter(转发)

    一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...

  2. JavaWeb基础—过滤器Filter

    一.概念 JavaWeb三大组件之一(组件都有一个特性,需要在web.xml中配置) 过滤器:会在一组资源(jsp servlet等)的前面执行,可以让请求得到目标资源,也可以终止请求,不再继续 也就 ...

  3. JavaWeb中过滤器Filter的使用示例

    https://github.com/YouXianMing/Java-Web-Study/tree/master/Servlet-Filter 过滤器示例基于以下流程 测试效果如下 web.xml配 ...

  4. JavaWeb中过滤器Filter的url-pattern设置

    源码 https://github.com/YouXianMing/Java-Web-Study/tree/master/Servlet-Filter-UrlPattern Filter顺序以及url ...

  5. Introduction of Servlet Filter(介绍javaweb组件之一过滤器filter)

    javaweb的三大组件都需要交给web服务器运行,都需要在web.xml文件中配置. ①Servlet:javax.servlet.Servlet通过http协议接受客户端的请求,并作出响应的Jav ...

  6. JavaWeb学习笔记(二十二)—— 过滤器filter

    一.什么是过滤器 过滤器filter是JavaWeb三大组件之一,它与Servlet很相似!不过过滤器是用来拦截请求的,而不是处理请求的.WEB开发人员通过Filter技术,对web服务器管理的所有w ...

  7. ⑧javaWeb之在例子中学习(过滤器Filter)

    前言 本系列 Servlet & JSP 学习系列[传送门]逐渐到了中期了,希望大家喜欢我写的,总结的点点滴滴- 今天我们来讲讲过滤器 你们的支持是我写博客的动力哦. 最近买了两本书,觉得大二 ...

  8. JavaWeb学习篇--Filter过滤器

    Filter过滤器简介 ServletAPI中提供了一个Filter接口,开发web应用时,如果编写的 java 类实现了这个接口,则把这个java类称之为过滤器Filter. WEB服务器每次在调用 ...

  9. JavaWeb学习篇之----Servlet过滤器Filter和监听器

    首先来看一下Servlet的过滤器内容: 一.Servlet过滤器的概念: ************************************************************** ...

随机推荐

  1. ubinize的用法

    1.ubinize支持哪些选项 Usage: ubinize [options] <ini-file> Generate UBI images. An UBI image may cont ...

  2. ZOJ 1276 Optimal Array Multiplication Sequence(矩阵连乘)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1276 裸的矩阵连乘问题. #include<iostream> ...

  3. Leetcode 23.Merge Two Sorted Lists Merge K Sorted Lists

    Merge Two Sorted Lists Merge two sorted linked lists and return it as a new list. The new list shoul ...

  4. OSI七层与tcp/ip四层

    1)OSI七层模型 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代 ...

  5. 前序+中序->后序 中序+后序->前序

    前序+中序->后序 #include <bits/stdc++.h> using namespace std; struct node { char elem; node* l; n ...

  6. zoj2314

    题解: 有上限的网络流 基本模板 代码: #include<bits/stdc++.h> using namespace std; ; int ne[N],num,n,m,d[N],S,T ...

  7. openfalcon源码分析之Judge

    openfalcon源码分析之Judge 本节内容 Judge功能 源码分析 设计优缺点 1. Judge功能 在open-falcon中,Judge模块的功能是通过从HBS上同步告警的strateg ...

  8. [转]设置银行卡密码的个人bug

    国庆前去某银行新办了张银行卡,办卡的时候修改了默认的密码.国庆期间要网上购物,结果密码输入3次都错误,所以银行卡被锁定了,只能等国庆后银行上班再去解锁. 国庆结束后跑去银行重置了密码,流程是这样的:1 ...

  9. 2018.11.28 RF基础1

    1 射频元件 高频电阻: 高频电容: 高频电感: 2 传输线 a 传输线效应:阻抗,3M法则. b 同轴线:RF中用 c 微带线: 常用: 1/4变换线 回波损耗:用网络分析仪测量 插入损耗:传输功率 ...

  10. New Concept English Two 25 67

    $课文65  小象对警察 683. Last Christmas, the circus owner, Jimmy Gates, decided to take some presents to a ...