javaweb学习总结(4)---Filter的分类
来源:互联网 发布:淘宝的卡券包在哪里 编辑:程序博客网 时间:2024/06/04 18:06
1、servlet2.5中的Filter分类
在myeclipse中开发web project时,如果选择了j2EE中的javaEE5.0,那么就是servlet2.5
过滤器的分类:REQUEST,FORWARD,INCLUDE,ERROR我们在[javaweb过滤器总结(3)中也提到了dispather](http://blog.csdn.net/jin970505/article/details/78524639)具体请看该篇介绍。
<1>REQUEST类型的Filter:
用户在直接访问该页面时,将会调用与之相关的Filter。例如:我们在Filter1中设置的URL为/index.jsp,那么我们在访问该页面的时候就会调用该过滤器中的规则,来进行一些拦截等操作。在进行web.xml映射的时候,如果没有指定dispather,那么就会默认为REQUEST。
<2>FORWARD类型的Filter:
目标资源如果是通过请求转发中的forward方法来访问的话,就会触发这个Filter,当然是用forward动作的话,也会触发。如下图所示的方法:
<3>INCLUDE类型的Filter:
目标资源如果是通过请求转发中的include方法来访问的话,就会触发这个Filter,当然是用include动作的话,也会触发。如下图所示的方法:
<4>ERROR类型的Filter:
目标资源是通过声明异常处理机制调用时,过滤器将被调用。
看一个例子:我们如果在访问一个index.jsp时,不小心将index.jsp写错了,那么就会触发一个404错误(页面不可达),这个时候我们就可以写一个ERROR类型的过滤器,只要遇到404错误,就去转向一个页面来告诉用户:“页面不可达,请检查url!”<1>写一个<error-page>:<error-page> <error-code>404</error-code> <location>/error.jsp</location></error-page><2>编写<error.jsp>的内容,只要遇到404错误,就会转到error.jsp<3>写ERROR过滤器:选择dispather为ERROR,对error.jsp进行拦截,在doFilter()方法里写一些你想进行的操作,这个方法里你可在后台看到错误,并且进行决定是否“放行”。
servlet3.0中新加的ASYNC
servelet3.0同样支持了注解(@WebFilter)的方式来配置过滤器,同时提供了很多的属性进行配置。而且servlet3.0新增了异步处理的方式进行过滤。
两张图看一下注解方式的使用:
异步过滤器根据过滤器的规则,过滤器得等servlet执行结束才能停止,所以如果servlet执行很久,过滤器得等很久,所以说呢,为了使得过滤器早点执行结束,就让servlet在后台执行,过滤器提前结束,这就是异步过滤器的优点所在@WebServlet(asyncSupported = true, displayName = "/AsyncServlet", urlPatterns={"/servlet/AsyncServlet"})asyncSupported = true 是必须开启用以支持异步@WebFilter(filterName="AsynFilter",asyncSupported=true,value={"/servlet/AsyncServlet"},dispatcherTypes={DispatcherType.REQUEST,DispatcherType.ASYNC})asyncSupported = true 是必须开启用以支持异步dispatcherTypes={DispatcherType.REQUEST,DispatcherType.ASYNC}DispatcherType.REQUEST必须要加上,否则过滤器就不会生效了同时注意在过滤的地址和servlet的地址必须相同
阅读全文
0 0
- javaweb学习总结(4)---Filter的分类
- JavaWeb的学习总结(三)— 过滤器(Filter)
- javaweb中的过滤器学习总结(1)---myeclipse下的第一个Filter
- javaweb中的过滤器学习总结(2)---Filter过滤器链和过滤器的生命周期
- javaweb中的过滤器学习(3)---Filter的部署详细总结
- javaweb学习总结Filter(过滤器)常见应用
- javaWeb的过滤器(Filter)
- javaweb学习(4):MVC模式和servlet/JSP以及Filter的详细介绍与使用
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结 ——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- javaweb学习总结(四十二)——Filter(过滤器)学习
- ###### bos实战之:用户修改角色:回显 权限(复选框选中)和回显 菜单(zTree树结点选中)。收获总结
- 初识Android广播机制
- React高级指南(四)【Uncontrolled Components】
- Kotlin
- shader-school的渲染入门系列(一)
- javaweb学习总结(4)---Filter的分类
- matlab中一个由于文件检索无法和函数并行而引发的问题
- shiro连接mysql数据库小例子
- C语言数据类型转换
- 51单片机的流水灯--逻辑实现
- 实现为项目添加Hibernate支持
- Postman 高级用法指南
- Jzoj4906 组合数问题
- java-11.12