作用 访问 web 资源时,对 web 资源进行拦截
1、继承 Filter 接口
重写 destroy,doFilter,init 方法
doFilter(ServletRequest arg0,SerletResponse arg1,FilterChain arg2)
当配置好对那个 web 资源(url)进行拦截时,web 服务器每次调用 web 资源之前,会调用 doFilter 方法。
在该方法内编写代码:
1、调用资源前先运行一段代码
2、是否调用资源
在调用 doFilter 时,会传递一个 filterChain 对象,这个对象也有一个 doFilter 方法(arg2.doFilter(arg0,arg1)) 调用此方法 web 服务器就会调用 web 资源的 service 方法
3、调用结束后,让一段代码执行
2、配置 web.xml
filter >listener>servlet
<filter>
<filter-name>name</filter-name>
<filter-class>class.path</filter-class>
</filter>
<filter-mapping>
<filter-name>name</filter-name>
<url-pattern>过滤的路径</url-pattern>
</filter-mapping>
filter 执行流程
1.先配置的先执行
2.chain.dpFilter(arg0,arg1)如果下面还有 filter,就执行下一个 Filter,没有就执行 web 资源
filter 生命周期
init() 只执行一次
doFilter() 真正做过滤操作
destroy() 当 Filter 被销毁时至今
服务器启动时 Filter 对象被创建 接着 init 方法
doFilter()每访问一次执行一次
...
..
.
服务器关闭时 destroy()
url-pattern 配置
1.完全匹配
使用通配符
2.目录匹配 以/开头 以 *
结束
3.扩展名匹配, 不能用/开头,以 *.xxxxx
结束
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于