词条 | filter生命周期 |
释义 | web应用发布完成之后,在request访问web资源之前,容器必须定位需要应用到该资源上的filter列表。容器需要确保实例化列表中的每个filter并调用它的init方法。如不能正确执行,filter可以抛出异常。 配置描述文件中每个filter的声明在每个虚拟机中仅仅只有一个实例。容器提供filter配置秘书中声明的config对象, 它包含了该web应用的ServletContext引用,和filter初始参数。 当容器接收到request,将取得列表中的第一个filter实例,并调用它的doFilter方法。将传入ServletRequest,ServletResponse和filterchain的引用。 doFilter方法遵循以下模式: 1.该方法检测request的头信息 2.可能会用一个定制的ServletRequest或HttpServletRequest包装request对象。 3.可能会用一个定制的ServletResponse或HttpServletResponse包装response对象。 4.filter可以调用filter链中的下一个入口,可能是一个filter,也可能是目的web资源。 5.调用链中的下一个filter之后,filter可以检测响应头信息。 6.处理过程中,filter可能抛出异常。如果在doFilter中抛出UnavailableException,容器不要继续filter链的处理,如非永久性异 常,它可以选择在稍晚的时候重新执行整个filter链。 |
随便看 |
|
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。