当前位置: 首页 > news >正文

过滤器的创建和执行顺序

过滤器的创建和执行顺序

8.1.1创建并配置过滤器

P143 重点是如何创建并配置(xml)

1.创建

public class EncodingFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {    }    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            servletRequest.setCharacterEncoding("UTF-8");
            servletResponse.setCharacterEncoding("UTF-8");
            filterChain.doFilter(servletRequest,servletResponse);
    }    @Override
    public void destroy() {    }
}

2.配置

  • 注解方式:所有路径不能是多个*,可以配置多个过滤路径
  • xml方式

3.注解方式

@WebFilter("/*")
@WebFilter(filterName = "myFilter",urlPatterns = {"/*"})

4.xml方式

<filter>
    <filter-name>hellohello</filter-name>
    <filter-class>demo.HelloServlet</filter-class>
</filter>
<filter-mapping>
    <filter-name>hellohello</filter-name>
    <url-pattern>/hellohello</url-pattern>
</filter-mapping>
<!--    可以配置多个路径-->
    <filter-mapping>
        <filter-name>hellohello</filter-name>
        <url-pattern>/hellohello2</url-pattern>
    </filter-mapping>

5.基于xml的案例

public class HelloServlet implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("我是过滤器");}@Overridepublic void destroy() {}
}

8.1.2 执行过滤器的详细过程

图1 Filter执行过程图2

8.1.3过滤器执行顺序

过滤器链的执行顺序

  • 先在web.xml中查找过滤器执行

在web.xml中,则按照配置的<filter-mapping>顺序执行

  • 再在注解的过滤中中选择执行:就是按照包名类名等的顺序执行

@WebFilter 按字母序执行

 

相关文章:

过滤器的创建和执行顺序

过滤器的创建和执行顺序 8.1.1创建并配置过滤器 P143 重点是如何创建并配置&#xff08;xml&#xff09; 1.创建 public class EncodingFilter implements Filter {Overridepublic void init(FilterConfig filterConfig) throws ServletException {}Overridepublic void doFil…...

JDK1.8 ConcurrentHashMap

数据结构锁sizeCtlconcurrencyLevelForwardingNode、ReservationNode扩容get、put、removehashmap&#xff1a;线程不安全 hashtable&#xff1a;通过synchronized保证线程安全但效率低。强一致性 ConcurrentHashMap&#xff1a;弱一致性 数据结构 ConcurrentHashMap为node数…...

参考 Promise/A+ 规范和测试用例手写 Promise

前言 这可能是手写promise较清晰的文章之一。 由浅至深逐步分析了原生测试用例&#xff0c;以及相关Promise/A规范。阅读上推荐以疑问章节为切入重点&#xff0c;对比Promise/A规范与ECMAScript规范的内在区别与联系&#xff0c;确定怎样构建异步任务和创建promise实例。然后开…...

yolov5数据集制作

yolov5 数据集的格式 每个图像的标注信息存储在一个独立的txt文件中每个txt文件的名称应该与其对应的图像名称相同,只是文件扩展名不同。例如: 对于名为“image1.jpg”的图像,其标注信息应存储在名为“image1.txt”的txt文件中。 在每个txt文件中,每一行表示一个对象的标注…...

主板EC程序烧写异常致无法点亮修复经验

主板型号&#xff1a;Gigabyte AB350M-Gaming3 官网上明确写着支持R5 5500&#xff0c;但按照如下步骤实践下来实际是不支持的 升级biosF31到F40版本的注意事项&#xff1a; 步骤&#xff1a; 1 使用Q-Flash先将bios升级到f31版本&#xff1b;2 然后下载提示中的ECFW Update To…...

【Java爬取赛事网站】命令行输出(仅供学习)

Java爬取赛事网站 Java爬取赛事网站Java爬取赛事网站参与社区的问题回答Gitcode项目地址PSP表格解题思路描述问题接口设计和实现过程编写中的测试关键代码展示性能改进单元测试异常处理心路历程与收获参与社区的问题回答 问题回答这个作业属于哪个课程软件工程-23年春季学期这…...

redis主从复制原理

在 Redis 中&#xff0c;我们可以通过 SLAVEOF 命令或者 slaveof 选项&#xff0c;让一个服务器去复制另一个服务器&#xff0c;被复制的服务器称为“主服务器”&#xff0c;发起复制的服务器称为“从服务器”&#xff0c;由两种服务器组成的模式称为“主从复制”。 主从复制原…...

buu刷题(第一周)

目录 [DDCTF 2019]homebrew event loop action:trigger_event%23;action:buy;5%23action:get_flag; [CISCN2019 华东南赛区]Web4 [RootersCTF2019]babyWeb [GWCTF 2019]mypassword [NESTCTF 2019]Love Math 2 [BSidesCF 2019]Pick Tac Toe [RootersCTF2019]ImgXweb [SW…...

算法训练营 day62 单调栈 每日温度 下一个更大元素 I

算法训练营 day62 单调栈 每日温度 下一个更大元素 I 每日温度 739. 每日温度 - 力扣&#xff08;LeetCode&#xff09; 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c…...

ChIP-seq 分析:Peak 注释与可视化(9)

1. 基因注释 到目前为止&#xff0c;我们一直在处理对应于转录因子结合的 ChIPseq 峰。顾名思义&#xff0c;转录因子可以影响其靶基因的表达。 转录因子的目标很难单独从 ChIPseq 数据中确定&#xff0c;因此我们通常会通过一组简单的规则来注释基因的峰&#xff1a; 如果峰与…...

ABB机器人配置DeviceNet总线IO板以及信号分配的具体方法示例

ABB机器人配置DeviceNet总线IO板以及信号分配的具体方法示例 基本步骤: 配置IO板分配IO信号这里以DeviceNet总线的DSQC652为例进行说明: 配置IO板的基本步骤:  配置IO板的型号  连接到总线  配置IO板的地址 (1台机器人可以配置多个IO板连接到DeviceNet总线,为了让机…...

2023 年网络安全漏洞的主要原因

​  网络安全漏洞已经并将继续成为企业面临的主要问题。因此&#xff0c;对于企业领导者来说&#xff0c;了解这些违规行为的原因至关重要&#xff0c;这样他们才能更好地保护他们的数据。 在这篇博文中&#xff0c;我们将概述 2023 年比较普遍的网络安全漏洞的主要原因。 云…...

剑指 Offer 34. 二叉树中和为某一值的路径

剑指 Offer 34. 二叉树中和为某一值的路径 难度&#xff1a;middle\color{orange}{middle}middle 题目描述 给你二叉树的根节点 rootrootroot 和一个整数目标和 targetSumtargetSumtargetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节…...

2023前端vue面试题(边面边更)

Vue中key的作用 vue 中 key 值的作用可以分为两种情况来考虑&#xff1a; 第一种情况是 v-if 中使用 key。由于 Vue 会尽可能高效地渲染元素&#xff0c;通常会复用已有元素而不是从头开始渲染。因此当使用 v-if 来实现元素切换的时候&#xff0c;如果切换前后含有相同类型的…...

webpack配置完全指南

前言 对于入门选手来讲&#xff0c;webpack 配置项很多很重&#xff0c;如何快速配置一个可用于线上环境的 webpack 就是一件值得思考的事情。其实熟悉 webpack 之后会发现很简单&#xff0c;基础的配置可以分为以下几个方面&#xff1a; entry 、 output 、 mode 、 resolve …...

juju创建lxd容器时如何使用本地镜像(by quqi99)

作者&#xff1a;张华 发表于&#xff1a;2023-03-01 版权声明&#xff1a;可以任意转载&#xff0c;转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 问题 没有外网&#xff0c;所以配置了一个local custom镜像库&#xff0c;也使用了container-image-meta…...

后端程序员学习前端开发之第一步环境搭建

一、安装 Node.js Node.js 是一个开源的、跨平台的 JavaScript 运行时环境。Node.js官网 二、安装 npm 镜像 因为 npm 是国外的&#xff0c;所以使用起来速度比较慢。我们这里使用了淘宝的 cnpm 镜像安装 vue。使用淘宝的 cnpm 命令管理工具代替默认的 npm 管理工具。 进入c…...

【记录问题】RuntimeError:working outside of application context. Flask使用SQLAlchemy数据库

前提&#xff1a;Flask使用SQLAlchemy数据库 本质&#xff1a;依赖包版本不匹配 问题1&#xff1a;报错RuntimeError&#xff1a;working outside of application context. 运行程序报错&#xff0c;如下错误&#xff1a; 原因&#xff1a;flask-sqlalchemy 版本过高导致&am…...

自动化测试难点案例分析,其实自动化你用错方向还不如不用

随着国内企业软件开发及测试水平的提升&#xff0c;许多企业开始尝试开展自动化测试的应用&#xff0c;以提高测试效率和测试质量。虽然在国外自动化测试工具应用已经很普遍&#xff0c;但国内许多企业对于软件自动化测试的理解还停留在表面上&#xff0c;没有深入的理解到企业…...

866363-70-4,N3-C5-NHS ester,叠氮-C5-NHS 主要物理性质分享

●外观以及性质&#xff1a;Azido-Aca-NHS淡黄色或无色油状&#xff0c;叠氮化物可以与炔烃、DBCO和BCN进行铜催化的点击化学反应。NHS酯可以与胺基反应&#xff0c;形成稳定的酰胺键。●中文名&#xff1a;叠氮-C5-NHS ester&#xff0c;6-叠氮己酸活性酯●英文名&#xff1a;…...

实战案例:用Fish Speech 1.5为视频添加多语言配音

实战案例&#xff1a;用Fish Speech 1.5为视频添加多语言配音 1. 引言&#xff1a;视频配音的新选择 在视频制作过程中&#xff0c;配音往往是耗时耗力的环节。传统配音需要专业录音棚、配音演员和后期处理&#xff0c;成本高且周期长。Fish Speech 1.5的出现为视频创作者提供…...

ncmdump终极解密攻略:5分钟实现网易云音乐NCM格式无损转换

ncmdump终极解密攻略&#xff1a;5分钟实现网易云音乐NCM格式无损转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾为下载的网易云音乐只能在特定平台播放而烦恼&#xff1f;NCM格式的音乐文件像是被上了一把无形的锁&am…...

AI训练师真实收入全景图:软件测试员的蓝海突围指南

一、薪资迷雾&#xff1a;从“月入六万神话”到基层现实2026年AI训练师岗位呈现极端薪资分化&#xff0c;需穿透表象看本质&#xff1a;头部光环案例&#xff1a;大厂高阶岗位&#xff08;如AI伦理设计师、大模型优化专家&#xff09;年薪可达60-100万元&#xff0c;但通常要求…...

Qwen3-0.6B-FP8高性能推理:FP8量化不损质量,数学/代码生成保持SOTA

Qwen3-0.6B-FP8高性能推理&#xff1a;FP8量化不损质量&#xff0c;数学/代码生成保持SOTA 最近在部署大模型时&#xff0c;你是不是也经常遇到这样的困扰&#xff1a;模型效果确实不错&#xff0c;但推理速度慢、显存占用高&#xff0c;稍微复杂点的任务就得等半天。特别是像…...

YOLOv8鹰眼检测效果展示:看AI如何从复杂场景中找出所有目标

YOLOv8鹰眼检测效果展示&#xff1a;看AI如何从复杂场景中找出所有目标 1. 引言&#xff1a;当AI拥有“鹰眼” 想象一下&#xff0c;在一张熙熙攘攘的街景照片里&#xff0c;你能一眼就数清有多少行人、多少车辆、多少交通标志吗&#xff1f;或者&#xff0c;在一张布满微小电…...

终极scan4all安全扫描工具:如何生成专业日志分析与安全评估报告

终极scan4all安全扫描工具&#xff1a;如何生成专业日志分析与安全评估报告 【免费下载链接】scan4all 项目地址: https://gitcode.com/gh_mirrors/sc/scan4all scan4all是一款功能强大的自动化安全扫描工具&#xff0c;它集成了vscan、nuclei、ksubdomain、subfinder等…...

文档权限验证API:ONLYOFFICE Docs检查用户访问权限的完整指南

文档权限验证API&#xff1a;ONLYOFFICE Docs检查用户访问权限的完整指南 【免费下载链接】DocumentServer ONLYOFFICE Docs is a free collaborative online office suite comprising viewers and editors for texts, spreadsheets and presentations, forms and PDF, fully c…...

AI优化效果不可控?矩阵跃动数据驱动型龙虾机器人,实现搜索排名稳定提升

在AI技术深度渗透搜索优化、流量运营等领域的今天&#xff0c;开发者与企业团队普遍面临一个核心困境&#xff1a;AI优化效果飘忽不定&#xff0c;搜索排名波动剧烈、结果不可复现、异常波动无预警&#xff0c;看似高效的自动化优化&#xff0c;反而成为业务稳定推进的潜在隐患…...

Windows下OpenClaw安装避坑:ollama-QwQ-32B接口对接详解

Windows下OpenClaw安装避坑&#xff1a;ollama-QwQ-32B接口对接详解 1. 为什么选择OpenClawollama-QwQ-32B组合 去年我在尝试自动化处理日报和周报时&#xff0c;发现市面上的RPA工具要么太笨重&#xff0c;要么需要频繁录制操作。直到遇到OpenClaw这个开源框架&#xff0c;它…...

KF32A150开发第一步:手把手教你用KF32 IDE导入、编译和烧录第一个工程

KF32A150开发实战&#xff1a;从零完成工程导入到烧录的全流程指南 第一次接触芯旺微KF32系列MCU时&#xff0c;面对陌生的开发环境和工具链&#xff0c;很多开发者都会感到无从下手。本文将带你一步步完成KF32A150开发板的第一个程序烧录&#xff0c;涵盖工程导入、编译配置到…...