博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
过滤Filter的使用1
阅读量:3916 次
发布时间:2019-05-23

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

过滤器

改下路径

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
如果有多个Servlet的提交
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
每一个Servlet都写重复的代码,在重复的位置写重复的代码,需要优化代码
使用过滤的思想,把请求过滤出来。在请求和服务端之间加一个过滤器,请求先进入过滤器,再发到服务端。

过滤器功能

1.用来拦截传入的请求和传出的响应

2.修改或以某种方式处理正在客户端和服务端之间交换的数据流
如何使用
与使用Servlet类似,Filter是java Web提供的一个接口,开发者只需要自定义一个类并且实现该接口即可
在这里插入图片描述
在这里插入图片描述
里面有三个方法,可以只实现doFilter,或者实现两个,但是doFilter必须实现,不会报错,但是servler中的5个方法必须都实现,不然会报错
如果接口里面的方法用关键字default修饰,那么可以不用去实现(jdk1.8新特性)
init和destroy都有花括号,说明有函数实现,是一个完整的方法
之前说的接口方法不能有实现,只适用jdk1.8之前的版本,jdk1.8出来后接口方法有实现
在这里插入图片描述

Filter配置

要将请求和Filter映射起来

与servlet一样,可以去web.xml里面去配
在这里插入图片描述
这样就表明login请求,后端有两个组件去映射,一个是CharacterFilter,一个是servlet,先后顺序是filter先
在这里插入图片描述
让请求往下走,调用filterChain.doFilter,不然请求到过滤器就断掉了
把设置字符编码去掉,看看会不会乱码
在这里插入图片描述
发现没有乱码
在这里插入图片描述

把test配进来

在这里插入图片描述
注意:doFilter方法中处理完业务逻辑之后,必须添加filterChain.doFilter(servlerRequest,servletResponse);
否则请求/响应无法向后传递,一直停留在过滤器中。

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

你可能感兴趣的文章
一文看懂"async"和“await”关键词是如何简化了C#中多线程的开发过程
查看>>
每天都在支付,你真的了解信息流和资金流?
查看>>
.Net Core 自定义配置源从配置中心读取配置
查看>>
基于.NetCore3.1系列 —— 日志记录之日志配置揭秘
查看>>
设计模式之享元模式
查看>>
单例模式最佳实践
查看>>
.NET Core + Spring Cloud:服务注册与发现
查看>>
今天你内卷了吗?
查看>>
设计模式之代理模式
查看>>
在 MySQL 中使用码农很忙 IP 地址数据库
查看>>
结构型设计模式总结
查看>>
dotNET:怎样处理程序中的异常(实战篇)?
查看>>
What is 测试金字塔?
查看>>
api接口返回动态的json格式?我太难了,尝试一下 linq to json
查看>>
.Net Core HttpClient处理响应压缩
查看>>
十分钟搭建自己的私有NuGet服务器-BaGet
查看>>
efcore 新特性 SaveChanges Events
查看>>
龙芯3A5000初样顺利交付流片
查看>>
用了Dapper之后通篇还是SqlConnection,真的看不下去了
查看>>
ABP快速开发一个.NET Core电商平台
查看>>