Http 过滤器

Javax.servlet.*;
|-- interface Filter 及过滤器

实现步骤

  1. 普通java类实现Fiter接口
public class MainFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException{        
    }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException{
    }
    @Override
    public void destroy(){
    }
}
  1. web.xml 里面配置这个过滤器
    <filter>
        <filter-name>MainFilter</filter-name>
        <filter-class>com.flynn.MainFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>MainFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
过滤器相关Api
  • interface Filter 过滤器核心接口

    • void init(filterConfig); 初始化方法,在服务器启动时候执行
    • void doFilter(request,response,filterChain); 过滤器拦截的业务处理方法
    • void destroy(); 销毁过滤器实例时候调用
  • interface FilterConfig 获取初始化参数信息

    • String getInitParameter(java.lang.String name)
    • Enumeration getInitParameterNames()
  • interface FilterChain 过滤器链参数;一个个过滤器形成一个执行链;

    • void doFilter(ServletRequest request, ServletResponse response) ; 执行下一个过滤器或放行
对指定的请求拦截

/* 表示拦截所有的请求
默认拦截的类型:(直接访问或者重定向)

<dispatcher>REQUEST</dispatcher>

拦截转发:

<dispatcher>FORWARD</dispatcher>

拦截包含的页面(RequestDispatcher.include(/page.jsp); 对page.jsp也执行拦截)

<dispatcher>INCLUDE</dispatcher>

拦截声明式异常信息:

<dispatcher>ERROR</dispatcher>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文包括:1、Filter简介2、Filter是如何实现拦截的?3、Filter开发入门4、Filter的生命周期...
    廖少少阅读 7,361评论 3 56
  • 监听器(listener) 监听器简介 :监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个...
    奋斗的老王阅读 2,565评论 0 53
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • Filter可以视作是servlet的加强版,主要用作对用户的请求进行预处理,或者对返回给客户端的结果进行再次加工...
    Single_YAM阅读 2,714评论 1 7
  • 仅作为自己学习记录使用,文章来自: 1、http://blog.csdn.net/csh624366188/art...
    BakerZhang阅读 1,054评论 1 5