1 基本概念
<1> Filter本意为”过滤“的含义,是JavaWeb的三大组件之一,
三大组件为:Servlet、Filter、Listener
<2> 过滤器,是向 Web 应用程序的请求&响应处理添加功能的 Web 服务组件
<3> 过滤器,相当于浏览器与Web资源之间的一道过滤网,
在访问资源之前,通过一系列的过滤器,对请求进行修改、判断以及拦截等,
也可以对响应进行修改、判断以及拦截等
2 工作方式
3 使用方式
自定义类,实现Filter接口,并重写doFilter方法
public class LoginFilter implements Filter { public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException { //TODO 处理逻辑,必须调用下面的方法 chain.doFilter(request,response); } }
在web.xml文件中配置过滤器
<filter> <filter-name>LoginFilter</filter-name> <filter-class>com.lagou.LoginFilter</filter-class> </filter> <filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern> /当请求此页面时,触发过滤器 </url-pattern> </filter-mapping>
例子:
为登录功能添加过滤器,进行用户的身份认证
1. 编写登录逻辑
2. 编写过滤器
3. 配置(启用)过滤器