Servlet 中 Filter的执行顺序

ServletFilter 中 doFilter()方法将调用过滤链中的下一个过滤方法,当下一个方法完成后,控制权将重新回到调用改方法的上级过滤器中。类似于 递归调用

 

 

 

 

 










另外,如果过滤器的doFilter()方法中 写出了定制的响应后,方法无需连到其它过滤器就能返回。这就是过滤器阻止后续处理的方法。

 

 

public void doFilter( ServletRequest req, 

ServletResponse res, FilterChain chain) 

throws IOException, ServletException {

PrintWriter out = res.getWriter();

out.write("Access Denied");

out.flush();

out.close();

}

以上为有FilterChain chain和无FilterChain chain的区别,当无chain.doFilter(req, res);时下个一个filter就不会被调用。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章