之前已经学习完了Javaweb之前端三剑客,JQuery,servlet,xml,Cookie和Session了等一系列内容,接下来学习Filter,本文学习视频资源
1、Filter什么是过滤器
- Filter过滤器它是Javaweb的三大组件之一,三大组件分别是Servlet程序,Listener监听器,Filter过滤器
- Filter过滤器它是javaee的规范,是个接口
- FIlter过滤器它的作用拦截请求,过滤响应。
2、Filter过滤器的作用
(1)创建项目
(2)项目练习
-
查询不到user这个session,所以不能让他访问,直接跳转到login.jsp页面
-
到web.xml里面配置权限资源
-
从上面可以看到我们a.jsp和我们的配置HelloFIlter里面都可以配置拦截,但是它先执行的是过滤器,过滤器过不了,那你a.jsp也别访问,可以在a.jsp里面输出一句话测试
(3)继续练习
- 这里做一下修改
- 编写登录页面
- 处理servlet请求
3、Filter的生命周期
4、FilterConfig
- 是Filter过滤器的配置类
- Tomcat每次床架 Filter的时候,也会创建一个FilterConfig类,这里包含了FIlter配置文件的配置信息
- FIlterConfig作用是获取filter过滤器的配置内容
- 获取Filter的名称filter-name的内容
- 获取在Filter中配置的init-param初始化参数
- 获取ServletContext对象
5、FilterChain多个过滤器执行细节
- FilterChain过滤器链
具体是filter1先执行,还是filter2先执行,这个是在web.xml里面配置的顺序问题。
6、Filter的拦截路径
- 精确匹配
<url-pattern>/target.jsp</url-pattern>
以上配置的路径,表示请求地址必须为:http://ip:port/工程路径/target.jsp
-
目录匹配:这个之前就写过
-
后缀匹配
<url-pattern>*.html</url-pattern>
以上配置的路径,表示请求地址必须以.html 结尾才会拦截到
<url-pattern>*.do</url-pattern>
以上配置的路径,表示请求地址必须以.do 结尾才会拦截到
<url-pattern>*.action</url-pattern>
以上配置的路径,表示请求地址必须以.action 结尾才会拦截到