1.过滤器 Filter 简介
1.1 过滤器 Filter 介绍
Filter 是 JavaEE 中 Servlet 规范的一个组件,位于包javax.servlet 中,它可以在 HTTP 请求到达 Servlet 之前,被一个或多个Filter处理。
Filter 工作流程如图:
Filter在生产环境中有很广泛的应用,如:修改请求和响应、防止xss攻击、包装二进制流使其可以多次读等。
1.2 过滤器 Filter 原理
Filter接口 doFilter 的方法,这个方法实现了对用户请求的过滤。具体流程如下:
- 用户发送请求到 web 服务器,请求会先到过滤器;
- 过滤器会对请求进行一些处理比如过滤请求的参数、修改返回给客户端的 response 的内容、判断是否让用户访问该接口等等。
- 用户请求响应完毕。
- 进行一些其他操作。
1.3 过滤器 Filter 使用场景
- 过滤敏感词汇(防止sql注入)
- 设置字符编码
- URL级别的权限访问控制
- 压缩响应信息
1.4 如何自定义过滤器Filter?
1.4.1 通过JavaConfig实现
显式配置 Filter ,功能强大,配置灵活。只需要把每个自定