过滤器Filter

一、Filter简介

1.概念

        Filter:过滤器,是一个接口,是JavaWeb三大组件(Servlet、Filter、Listener)之一。

2.作用

        过滤器Filter可以把对资源的请求拦截下来,从而实现一些通用的操作,如:权限控制、统一编码处理、敏感字符处理等。

二、Filter的使用

1.定义实现类

        定义Filter的实现类,并重写方法;
【注意】实现Filter接口导包时,导的是javax.servlet.*。

2.配置拦截路径(★)

        在实现类上方@WebFilter注解来配置要拦截资源的路径

3.放行

        对资源进行处理后,放行(doFilter())资源。

【tips】Filter的执行流程:放行后访问对应的资源,访问完资源后回到Filter,执行放行后的逻辑代码,即:放行前代码→放行→访问被拦截的资源(别光拦截不放行)→放行后代码。所以一般在放行前对请求数据进行处理,放行后对响应数据进行处理
                        

三、Filter拦截路径配置和过滤器链

1.拦截路径配置

(1)拦截具体资源:/index.jsp:只有访问index.jsp时才会被拦截;
(2)目录拦截:/user/*:访问/user目录下的所有资源时,都会被拦截;
(3)后缀名拦截:*.jsp:访问所有后缀为jsp的资源时,都会被拦截;
【注意】后缀名拦截不以/开头。
(4)拦截所有:/*:访问所有资源时,都会被拦截。

2.过滤器链

        一个Web应用中可以配置多个过滤器,这多个过滤器称为过滤器链。
(1)过滤器链的执行流程
        
(2)过滤器链中多个过滤器的执行顺序
        注解配置的Filter的执行顺序,按照实现类类名的自然排序顺序来执行。

全部评论

相关推荐

04-02 10:09
门头沟学院 Java
用微笑面对困难:这里面问题还是很多的,我也不清楚为啥大家会感觉没啥问题。首先就是全栈开发实习9个月的内容都没有java实习生的内容多,1整个技术栈没看出太核心和难点的内容,感觉好像被拉过去打杂了,而且全栈基本上很容易被毙。里面能问的bug是在太多了比如L:继承 BaseMapper 可直接使用内置方法’。请问你的 BaseMapper 是如何扫描实体类注解如果瞬时产生 100 个上传任务,MySQL 的索引设计是否会有瓶颈?你做过分库分表或者索引优化吗?全栈的内容可以针对动态难点去搞,技能特长写在下面吧,你写了这么多技能,项目和实习体现了多少?你可以在项目里多做文章然后把这个放下去,从大致来看实习不算太水,有含金量你也要写上内容针对哨兵里面的节点变化能问出一万个问题,这个很容易就爆了。
提前批简历挂麻了怎么办
点赞 评论 收藏
分享
找工作勤劳小蜜蜂:矛盾是没有实习,就是没实战经验,公司不想要,公司不要,你就没有实习,你就进入死循环,另外你的项目不是社会现在有大量岗位存在行业用的,云存储人员早就饱和。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务