美文网首页
OncePerRequestFilter与Filter的区别

OncePerRequestFilter与Filter的区别

作者: 尤力 | 来源:发表于2020-02-13 23:12 被阅读0次

一、概述

我们都知道Filter是属于Servlet,用于请求过滤的,通常用于过滤请求的URL,不需要进行安全验证的URL直接通过。而OncePerRequestFilter我们可能不太熟悉,该Filter从字面上理解:只执行一次的Filter。可能有人会问了,我们自己写的Filter不都只执行一次吗?为何Spring还要专门提供这么一个类来处理呢?

二、OncePerRequestFilter更加稳妥

通常 serlvet版本的不同会略有差异。如:servlet2.3与servlet2.4也有一定差异:

在servlet2.3中,Filter会经过一切请求,包括服务器内部使用的forward转发请求和<%@ include file=”/login.jsp”%>的情况

servlet2.4中的Filter默认情况下只过滤外部提交的请求,forward和include这些内部转发都不会被过滤,

因此此处我有个建议:我们若是在Spring环境下使用Filter的话,个人建议继承OncePerRequestFilter吧,而不是直接实现Filter接口。这是一个比较稳妥的选择。

相关文章

网友评论

      本文标题:OncePerRequestFilter与Filter的区别

      本文链接:https://www.haomeiwen.com/subject/aijrfhtx.html