Filter过滤器

article/2025/9/6 13:36:16

文章目录

    • Filter
      • Filter过滤器的简单说明
      • Filter的执行顺序
    • Eclipse创建简单的Filter过滤器
      • Filter过滤不到指定路径

Filter

Filter过滤器的简单说明

1.过滤器是一个驻留在服务器端的web组件,可以截取客户端和服务器端之间的请求与响应的信息

2.过滤器Filter是对客户端访问资源的时候的过滤,对符合条件的请求放行,不符合条件的不放行。

3.常用用法:权限验证访问资源、设置资源编码。

Filter的执行顺序

1. 当web服务器接收到一个请求后,将会判断此请求路径是否匹配到一个过滤器的配置,如果匹配到,则服务器把请求交给相关的过滤器处理

2. 在执行Filter的过程中,Web服务器会判断是否有另一个关联当前请求的过滤器,如果有就交给下一个处理

**3.通过doFilter() 调用客户端需要访问的web资源。在返回给客户端的过程中,首先同样经过关联的过滤器,只是顺序与请求到来时相反
**

Eclipse创建简单的Filter过滤器

我们创建先创建一个Maven的JavaWeb工程,我之前的文章有讲过
然后我们右击项目,点击创建一个Filter过滤器
在这里插入图片描述

填写一些信息
在这里插入图片描述

Initialization parameters中配置的是Filter的一些初始化参数,可以不配置;
Filter mappings中的URL Pattern,是请求这个地址的时候,会进过Filter过滤器,从而进行一些判断,我们可以通过右边的添加按钮或者编辑按钮来添加或者修改需要过滤的URL请求
在这里插入图片描述
创建完成后,我们可以看到TestFilter实现Filter接口中的三个方法

/** 当Filter过滤器销毁的时候调用 */
public void destroy() {System.out.println("destroy TestFilter")
}
/** doFilter方法主要是对过滤的请求和响应进行处理, FilterChain chain 参数作用是如果有下一个过滤器的话,就将当前的请求和响应发送给下一个过滤器进行处理 */
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {System.out.println("doFilter TestFilter")chain.doFilter(request, response);
}
/** 初始化Filter过滤器的时候调用 */
public void init(FilterConfig fConfig) throws ServletException {System.out.println("init TestFilter")
}

接下来我们测试一下各个方法,在方法中输出一些信息
当我们启动Tomcat容器的时候,Filter过滤器初始化
在这里插入图片描述
我们访问上面给的路径加上过滤器的路径的时候,会调用doFilter方法,说明请求进过了过滤器

http://localhost:8099/Filter3/TestFilter

在这里插入图片描述
在访问的时候,我们发现报404错误,(我想是因为我们没有创建一个Servlet容器来存放资源,请求没有找到这个资源地址)

Filter过滤不到指定路径

我们使用注解来过滤请求的,默认是容器的路径,当我们从一个Servlet发送一个请求转发的时候,我们设置的路径是过滤不到这个请求的,我们需要使用注解指定一下

// 这个路径是过滤不到请求转发的路径的
@WebFilter("/TestFilter")
// 我们需要设置过滤的类型
@WebFilter(dispatcherTypes = {DispatcherType.FORWARD }, urlPatterns = { "/success.html" })

勾选我们需要的选项在这里插入图片描述


http://chatgpt.dhexx.cn/article/e40emCJA.shtml

相关文章

FilterChain 过滤器链和拦截路径

Filter 过滤器 Chain 链&#xff0c;链条 FilterChain 就是过滤器链&#xff08;多个过滤器如何一起工作&#xff09; Filter 的拦截路径 精确匹配&#xff1a; <url-pattern>/target.jsp</url-pattern>以上配置的路径&#xff0c;表示请求地址必须为&#xff1…

Filter 过滤器

一、Filter 过滤器概念 ① Filter 过滤器它是 JavaWeb 的三大组件之一 三大组件分别是&#xff1a;Servlet 程序、 Listener 监听器、 Filter 过滤器 ② 他是 JavaEE 的规范&#xff0c;也就是接口 ③ 作用&#xff1a;拦截请求&#xff0c;过滤响应 拦截请求常见的应用场景有&…

filter过滤器的概念

文章目录 1. 图示2. 什么是Filter3. 代码演示4. 使用场景&#xff1a;事务处理 1. 图示 2. 什么是Filter Filter也属于Servlet规范Filter开发步骤&#xff1a;新建类实现Filter接口&#xff0c;然后实现其中的三个方法&#xff1a;init、doFilter、destroy 配置Filter&#xf…

Filter 过滤器使用

一、什么是Filter过滤器 Filter 过滤器它是 JavaWeb 的三大组件之一。 三大组件分别是&#xff1a;Servlet 程序、Listener 监听器、Filter 过滤器 Filter 过滤器它是 JavaEE 的规范。也就是接口 Filter 过滤器它的作用是&#xff1a;拦截请求&#xff0c;过滤响应。 拦截…

Filter过滤器(超详细)

声明&#xff1a;本文是根据博主学习内容所整理得的笔记&#xff0c;仅作为交流学习使用&#xff0c;需要观看视频的请移步&#xff1a;http://www.atguigu.com/ 1.Filter &#xff1f;什么是过滤器 Filter 过滤器它是 JavaWeb 的三大组件之一。 三大组件分别是&#xff1a;S…

GitHub使用教程(完整教程)

第一步&#xff1a;进入官网 &#xff08;https://github.com/&#xff09; 第二步&#xff1a;新建账号——输入用户名&#xff0c;邮箱&#xff0c; 密码——邮箱确认——登录GitHub 第三步&#xff1a;创建仓库 第三步&#xff1a;查看仓库 第四步&#xff1a;实现本地项目…

Git和Github详细入门教程(别再跟我说你不会Git和Github)

前言&#xff1a;基础差建议先观看B站视频&#xff08;关键字&#xff1a;GitHub&#xff09;&#xff0c;该教程是根据视频教程而制。 文章目录 01.Git概述02.Git的本地仓库操作 Git的版本回退操作 03.远程仓库05.Git的分支操作06.冲突的产生与解决07.Git实用功能08.忽略文件0…

GitHub Actions 入门教程

https://jiangren.com.au/blog/github-actions 一、GitHub Actions 是什么&#xff1f; 大家知道&#xff0c;持续集成由很多操作组成&#xff0c;比如抓取代码、运行测试、登录远程服务器&#xff0c;发布到第三方服务等等。GitHub 把这些操作就称为 actions。 很多操作在不…

小白入门~ GitHub和Git超详细使用教程

https://github.com/ 这是GitHub的官方网站&#xff0c;在官网上可以注册属于自己的GitHub账号&#xff0c;网上是全英文的&#xff0c;对于英语不好的同学建议使用谷歌浏览器&#xff0c;谷歌浏览器可以翻译网页变为中文使用起来十分方便。 通过简单的步骤之后你就会有一个属于…

GitHub使用教程(项目下载)

1.登录GitHub后选择左上角搜索框&#xff08;以点餐系统为例&#xff09; 2.选择合适的项目进入 3.选择合适的项目进入后&#xff0c;点击Code 4.点击Download ZIP即可下载项目代码压缩包

github使用教程图文详解(一)[入门]

git的使用和踩坑 Git的注册下载本地github工具绑定ssh秘钥获取ssh秘钥官网绑定ssh秘钥 创建远程库初始化仓库设置全局签名和单仓库签名的作用单仓库签名全局用户签名 提交到本地仓库git区域的划分提交到缓存区提交本地仓库和备注提交总结注意: 提交到远程仓库克隆远程仓库总结 …

GitHub 的 10 分钟快速入门教程

Hello World 这一篇是 GitHub 的 10 分钟快速入门教程&#xff0c;因为找不到中文版&#xff0c;大橙子自己给大家翻译了一下。 Hello World 项目是计算机编程的一个历史悠久的传统。这一篇我们也通过这个简单的练习让你学习到新的知识。那么就让我们开始 GitHub 的学习旅程吧…

【Github教程】史上最全github使用方法:github入门到精通

【初识Github】 首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。 Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名…

Github和Git的基本教程,适合新手

借鉴了这个博主的笔记 观看了b站up主的视频 Github和Git的基本使用 Github一.基本概念二 .创建账号三.创建仓库四&#xff1a;仓库管理五.仓库主页英文介绍 Git一. Git优势二.下载地址三.基本信息设置四.工作区域&#xff08;上传文件到Github&#xff09;五.删除文件六. 修改…

github入门教程最全中文版(官方)

该的Hello World项目是计算机编程历史悠久的传统。这是一个简单的练习&#xff0c;可以让你在学习新东西时开始学习。让我们开始使用GitHub&#xff01; 您将学习如何&#xff1a; 创建和使用存储库启动并管理新分支对文件进行更改并将其作为提交推送到GitHub打开并合并拉取请…

github注册以及安装教程

github注册以及安装教程 首先&#xff0c;我们了解一下github.gitHub 是一个面向开源及私有软件项目的托管平台&#xff0c;因为只支持 git 作为唯一的版本库格式进行托管&#xff0c;故名 gitHub。github 于 2008 年 4 月 10 日正式上线&#xff0c;除了 git 代码仓库托管及基…

GitHub快速上手--GitHub高效操作教程

一、前言 如果你正在看我的这篇文章&#xff0c;说明你已经对GitHub有了一些基础的了解&#xff0c;下面我们将详细叙述每一步的操作&#xff0c;以保证你能够快速上手GitHub&#xff0c;完成对代码的管理。 二、创建仓库 登录GitHub账号&#xff0c;点击页面右上角的加号&am…

GitHub使用教程-官网指南

此文为GitHub官网操作示例&#xff0c;英文原版见下文或访问地址&#xff1a;Hello World GitHub Guides Hello World 十分钟教学指南 Hello World项目在计算机编程领域是一个历史悠久的传统。当你学习一些新的东西的时候&#xff0c;它是你开始学习的一个简单的练习。让我…

GitHub注册教程(图文详解)

一、注册github流程 1.首先进入github官网 https://github.com/ 2.点击绿色框Sign up for GitHub进行注册 3.注册页面第一栏email&#xff08;邮箱&#xff09;&#xff0c;第二栏password&#xff08;密码&#xff09;&#xff0c;第三栏username&#xff08;用户名&#xff…

手把手教你简易上手GitHub(教程)

1.创建仓库 仓库是存储想法、资源甚至与他人共享和讨论的地方。&#xff08;记笔记的地方&#xff09; 在任何页面的右上角&#xff0c;使用 下拉菜单选择 New repository&#xff08;新建仓库&#xff09;。 在 Repository name&#xff08;存储库名称&#xff09;框中&am…