什么是过滤器(Filter)
在 Java Web 中,**Filter(过滤器)**是三大核心组件之一,另外两个分别是 Servlet(程序) 和 Listener(监听器)。Filter 主要用于拦截和处理请求与响应,它提供了一种对客户端请求进行预处理、对服务端响应进行后处理的机制。
具体来说,Filter 对 HTTP 请求进行过滤、拦截,可以在请求到达 Servlet 之前对请求做一些预处理,或者在响应发送到客户端之前做一些后处理。
过滤器的作用
过滤请求: 对客户端发来的请求进行预处理,如权限校验、日志记录、请求内容的修改等。
拦截响应: 在服务器响应到达客户端之前,对响应进行后处理,如日志记录、性能监控、响应数据的修改等。
请求合法性检查: 如请求参数验证、用户身份验证等。
增强业务逻辑: 在服务端响应前后加入一些额外的逻辑。
Filter 的作用可以类比为一个“净水器”,它在客户端请求到达服务器前对请求进行“清理”,如请求是否包含非法参数,是否已经过身份验证等。如果请求符合要求,才会继续传递给服务器;否则,可以直接给客户端返回相应的错误提示。
Filter 的使用步骤
实现 Filter 接口
首先,Filter 必须实现 接口&