Javaweb是学习java编程的重要内容,接触过java的朋友们肯定都知道javaweb的重要性。在前面的文章中我们也介绍了javaweb三大组件是什么,分别是Servlet,Filter,Listener,相信大家对三大组件也有一定的了解,今天我们来更进一步的学习javaweb过滤器的相关知识。
过滤器是javaweb三大组件之一,它与Servlet很相似,但是过滤器是用来拦截请求的,而不是处理请求的。当用户请求某个Servlet时,会先执行部署在这个请求上的Filter,如果Filter“放行”,那么会继承执行用户请求的Servlet;如果Filter不“放行”,那么就不会执行用户请求的Servlet。可以这样理解javaweb过滤器:当用户请求某个Servlet时,Tomcat会去执行注册在这个请求上的Filter,然后是否“放行”由Filter来决定。可以理解为,Filter来决定是否调用Servlet,当执行完成Servlet的代码后,还会执行Filter后面的代码。
下面是javaweb过滤器的工作流程方式:
Javaweb过滤器的作用就是拦截,有四种拦截方式:REQUEST 是默认的,当输入其他的,那么默认的将取消(消失),请求拦的是直接请求,不拦转发请求REQUEST;转发(专门拦转发):FORWARD包含(专门拦包含):INCLUDE错误(专门拦错误):ERROR。
Javaweb过滤器的应用场景:(1)执行目标资源之前做预处理工作,例如设置编码,这种通常都会放行,只是在目标资源执行之前做一下准备工作。例如放行 :几乎所有的servlet中都需要写request.setCharacterEndoin()可以把它放入到一个Filter中;(2)通过条件判断是否放行,例如效验当前用户是否已经登录,或者用户IP是否已经被禁用;(3)在目标资源执行后,做一些后续的特殊处理工作,例如把目标资源输出的数据进行处理。
多个Filter的执行顺序,在我们的请求到达Servle之间是可以经过多个Filter的,一般来说,建议Filter之间不要有关联,各自处理各自的逻辑即可。这样,我们也无需关心执行顺序问题。如果一定要确保执行顺序,就要对配置进行修改了,执行顺序如下:(1)在web.xml中,filter执行顺序跟
学习java,就要学习javaweb,进而就要学习javaweb过滤器,上面就是今天介绍的javaweb过滤器相关基础知识,希望可以帮助java零基础的朋友们学习理解过滤器,另外可以在javaweb教程中学习更多的知识。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习