Filter,Listener和Servlet并称为JavaWeb的三大组件;
Filter的作用:
过滤器主要用于过滤客户端发送过来的请求和服务端的响应;
自定义过滤器:
主要有三个步骤:
1、新建一个类实现Filter接口,并实现Filter中的方法;
2、在doFilter方法中写下过滤的条件和chain.doFilter(request,response);放行访问资源文件;
3、在web.xml中配置该自定义过滤器;
过滤器的生命周期:
init() 在服务器开启的时候创建Filter对象,调用一次;
doFilter() 每当用户发送请求便调用一次;
destory() 在关闭服务器的时候销毁Filter对象,调用一次;
过滤器的应用场景:
例如:解决项目的乱码问题;登录权限问题和自动登录等;
过滤路径的命名方式:
1,精确命名:
eg:<url-pattern>/index.jsp</url-pattern>该命名模式是指对index.jsp页面进行过滤;
2,模糊命名:
在模糊命名中以斜杆‘/’开头必须以*结尾,以*开头则是为了匹配某种后缀或者页面;
其中比较常用的是/文件夹名/*
过滤器链:
当有多个过滤器同时作用的时候,过滤器的执行顺序是按照每个过滤器在web.xml中的配置顺序来定的;与过滤器的过滤路径没有关系
FilterConfig的作用:
用于读取web.xml中的配置参数(与ServletConfig相同并且具有相同的方法)
方法:
getInitParameter(String name);
getInitParameterNames();