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替代,也可以混用

posted @ 2017-12-12 21:38  韩雪溪  阅读(3899)  评论(0编辑  收藏  举报