过滤Filter的使用1

过滤器

改下路径

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
如果有多个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);
否则请求/响应无法向后传递,一直停留在过滤器中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生活热爱就好

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值