在服务器有3大技术:servlet filter--过滤器 listener--监听器
servlet:本质上就是一个类,这个类实现了java规范,可以做浏览器和服务器之间的请求和响应
filter:本质上也是一个类,这个类也实现了java规范,可以做浏览器访问服务器时的一种过滤
手动设置:FORWORD 只拦截请求转发 不拦截浏览器过来的请求
手动设置2个:
REQUEST
FORWORD
servlet:本质上就是一个类,这个类实现了java规范,可以做浏览器和服务器之间的请求和响应
filter:本质上也是一个类,这个类也实现了java规范,可以做浏览器访问服务器时的一种过滤
符合条件才放行,不符合条件不放行
listener: 监听器 上个文章有提及!!!
filter的作用?
主要作用:对浏览器访问服务器的请求进行拦截过滤的
filter的web.xml配置:
<url-pattern>的配置:filter的拦截路径(和servlet一样 有3种)
1 完全路径匹配 /sd1 /sd2 /sd3 单一资源
2 目录匹配 /* 以/开始以*结尾 全部资源
3 扩展名匹配 .* .aa .bbb .ccc
特点:
1 可以出现多个<url-pattern>
2 filter的执行顺序是由<url-pattern>的上下顺序来决定的 谁在上面先执行谁
3 <url-pattern>也可以用<servlet-name>标签替换,但是<servlet-name>标签只针对servlet
<filter-mapping>标签下的:
<dispatcher></dispatcher>: 指定filter过滤方式标签
默认值:REQUEST 只拦截从浏览器过来的请求手动设置:FORWORD 只拦截请求转发 不拦截浏览器过来的请求
手动设置2个:
REQUEST
FORWORD
----当前的过滤器既拦截浏览器过来的请求,也拦截请求转发的