Filter
简单实现Filter接口:
public class FirstFilter implements Filter {
public void init(FilterConfig fConfig) throws ServletException {
//1.该对象创建时执行init函数,即服务器启动时执行
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// 放行
chain.doFilter(request, response);
}
public void destroy() {
//2.该对象销毁时执行destory函数,即服务器关闭时执行
}
}
2.在web.xml中配置Filter
<filter>
<display-name>FirstFilter</display-name>
<filter-name>FirstFilter</filter-name>
<filter-class>com.web.filter.FirstFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>FirstFilter</filter-name>
<url-pattern>/*</url-pattern>
<url-pattern>/aaa/*</url-pattern>
<dispatcher>REQUEST</dispatcher>//默认的值为REQUEST,当打开新的访问的时候拦截
<dispatcher>FORWARD</dispatcher>当转发的时候进行拦截
<dispatcher>INCLUDE</dispatcher>当包含的时候进行拦截
<dispatcher>ERROR</dispatcher> 错误的时候进行拦截
</filter-mapping>
url-pattern配置时
1)完全匹配 /sertvle1
2)目录匹配 /aaa/bbb/* ----最多的
/user/*:访问前台的资源进入此过滤器
/admin/*:访问后台的资源时执行此过滤器
3)扩展名匹配 *.abc *.jsp
注意:url-pattern可以使用servlet-name替代,也可以混用