过滤器类似于 servlet,但由 Web 容器管理,但 servlet 中有 service() 方法,但过滤器中没有名为 service 的方法。总共只有三个方法 init()、doFilter() 和 destroy()。有人能详细说明一下吗?
最佳答案
每当 Filter 处理请求时都会调用 doFilter() 方法。
一个简单的例子如下:
public void doFilter(ServletRequest request,
ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// .. pre filter logic
chain.doFilter(request, response);
// .. post filter logic
}
过滤器允许您决定是否继续处理该请求,即后续过滤器是否将处理该请求以及最后的 servlet。您可以选择不调用 chain.doFilter (一个很好的例子是,如果您使用过滤器进行身份验证)。请参阅this guide了解更多信息。
关于java - java中过滤器中的服务方法由谁来进行滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2012872/