一、过滤器
1. 什么是过滤器?
过滤器是一种用于JavaWeb
应用程序中的组件,它可以拦截HTTP
请求和响应,以实现一些特定的功能。
过滤器可以对请求和响应进行修改,可以阻止请求进入Servlet
,也可以修改响应返回给客户端。
2. 过滤器的主要作用
- 登录验证:检查用户是否已经登录,如果没有登录则跳转到登录页面。
- 权限控制:检查用户是否有访问某个资源的权限,如果没有则提示错误信息或者跳转到其他页面。
- 编码转换:设置请求和响应的字符编码,解决中文乱码问题。
- 敏感词过滤:替换或者屏蔽掉请求参数或者响应内容中的敏感词汇。
- 日志记录:记录用户的访问信息,如
IP
地址,访问时间,访问路径等。
3. 过滤器的底层实现原理是基于回调函数的
当一个请求到达服务器时,服务器会根据请求的URL
匹配相应的过滤器链。过滤器链是由一个或多个过滤器组成的,按照配置的顺序依次执行。
每个过滤器都实现了Filter
接口,该接口定义了三个方法:
init(FilterConfig filterConfig)
:初始化方法,在过滤器创建时调用一次,可以用来获取过滤器配置参数。doFilter(ServletRequest request, ServletResponse response,