过滤器Filter学习笔记

2017-11-29 22:31:24

    1.什么是过滤器

    Filter也称之为过滤器,是JAVA WEB中一门十分实用的技术,通过Filter可以对web资源进行控制和管理,例如可以对Jsp,Servlet等进行拦截.

    Filter过滤器运行流程:

    优先于servlet以及jsp之前运行.

    应用场景:可以实现URL级别的权限访问控制,过滤敏感词汇等一些高级功能.

    2.Filter生命周期

    Filter何时创建:服务器启动时就创建该Filter对象

    Filter何时销毁:服务器关闭时Filter销毁

    3.FilterChain

    FilterChain:过滤器链对象,通过该对象的doFilter方法,可以放行该请求--经常使用,当有多个过滤器的时候doFilter方法会将请求发送给下一个过滤器,直到发送到对应的servlet或者jsp处理

    4.url-pattern配置

    以"/"字符开头,并以"/*"结尾的字符串用于路径映射,例如:/net/zixue/*

    以"*."开头的字符串被用于扩展名映射.例如*.jsp

    空字符串("")是用于指定精确映射应用程序context servlet.在这种情况下servlet路径是请求URI去掉context路径,且路径信息为null

    5.dispatcher配置

    REQUEST:默认值,代表直接访问某个资源时,等待filter

    FORWARD:转发时才执行filter

    INCLUDE:包含资源时执行filter

    ERROR:发生错误时,进行跳转时 执行filter

    ASYNC:异步servlet的时候需要使用