Filter是一个web应用中的一个利器,关于Filter,有几个注意点:
1.Filter由servlet容器创建和销毁,在容器中只存在一个instance,因此在实现时,需要注意线程安全,和servlet一样,不能申明跟某一个request处理相关的私有变量。
2.chain.doFilter(req, resp);将调用filterChain上的下一个filter的doFilter(),如果当前已经是chian上的最后一个filter,被请求的资源将会处理,所以这个过程是一步步的走向被请求的资源, 再一步步的返回,可以在chain.doFilter(req, resp)后对response做进一步的处理。
1.Filter由servlet容器创建和销毁,在容器中只存在一个instance,因此在实现时,需要注意线程安全,和servlet一样,不能申明跟某一个request处理相关的私有变量。
2.chain.doFilter(req, resp);将调用filterChain上的下一个filter的doFilter(),如果当前已经是chian上的最后一个filter,被请求的资源将会处理,所以这个过程是一步步的走向被请求的资源, 再一步步的返回,可以在chain.doFilter(req, resp)后对response做进一步的处理。