博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java_Filter
阅读量:2492 次
发布时间:2019-05-11

本文共 1164 字,大约阅读时间需要 3 分钟。

文章目录

前言

  最近学习了有关Filter的内容,小咸儿将在此总结下来,分享给大家。有什么不足之处,还希望各位能够在评论区中留言,一起讨论。


叙述

宝图

在这里插入图片描述

是什么?

  Filter的基本功能是对Servlet容器调用Servlet的过程进行拦截,从而在Servlet进行响应处理的前后实现一些特殊的功能。

  简单来说呢,可以将Filter比喻成门房。对发送到Servlet的请求进行拦截,对响应也进行拦截。

过滤过程

在这里插入图片描述

怎么做?

  • Filter是实现了Filter接口的Java类
  • Filter需要在web.xml文件中进行配置和映射
helloFilter
com.firstProject.HelloFilter
helloFilter
/test.jsp

注意: 当有多个Filter时,Filter的拦截顺序和映射中配置的顺序有关,靠前的先被调用


方法

init方法

public void init(FilterConfig filterConfig){
// 方法体}

  类似于Servlet的init方法。在创建Filter对象的时候立即被调用,且只被调用一次。相当于对当前的Filter进行初始化操作。

doFilter方法

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain){
// 方法体}

  这个方法则在每次拦截时都会调用,而且其中的FilterChain,也就是Filter链,有多个Filter组成。

注意: FilterChain 的使用

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain){
System.out.println("每次都会调用的方法"); chain.doFilter(request, response);}

  在Filter链中的doFilter方法,起到放行的作用。它将请求给Filter链中的下一个Filter,若当前的Filter是Filter链中的最后一个Filter,则把请求给到目标Servlet或者JSP。

在这里插入图片描述

destroy方法

  释放当前Filter所占用的资源的方法,在Filter被销毁之前被调用,且只被调用一次。

结语

  对于Filter还有待于加深自己的理解,希望能够和您在评论区中交流。

感谢您的阅读~~

转载地址:http://zjerb.baihongyu.com/

你可能感兴趣的文章
Yii2的一些问题
查看>>
LeetCode OJ - Populating Next Right Pointers in Each Node II
查看>>
C++ wifstream读取日文方法(中文适用)
查看>>
B-树
查看>>
php计算上个月是几月份
查看>>
浅谈 trie树 及其实现
查看>>
60款很酷的 jQuery 幻灯片演示和下载
查看>>
nyoj-20-吝啬的国度(深搜)
查看>>
【NOI 2018】归程(Kruskal重构树)
查看>>
spark 2.4安装
查看>>
Embeded linux之移植boa
查看>>
C之变量初始化的重要性
查看>>
jQuery 学习笔记(jQuery: The Return Flight)
查看>>
Java中常用的测试工具JUnit
查看>>
PHP图形图像的典型应用 --常用图像的应用(验证码)
查看>>
Robot Framework-Ride界面介绍及库的添加
查看>>
IntelliJ IDEA 连接数据库 详细过程
查看>>
redis完全攻略
查看>>
D3---01基础的柱状图制作(转)
查看>>
Time-Varying Mesh Compression
查看>>