java - java中过滤器中的服务方法由谁来进行滚动?

标签 java servlets servlet-filters

过滤器类似于 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/

相关文章:

java - 通过 HTTPS 下载文件

java - 获取错误消息 "message": "Invalid Value" when I use google drive api to search a specific file

java - 在 Servlet 中创建 1x1 透明 gif

java - Servlet 过滤器无法正常工作

java - Servlet 过滤器给出 NullPointerException

java - 如何在 DefaultTableModel 的单元格中获取新更新的数据

java - 通过 Mac Java 控制面板更新 jdk 后 El capitan shell java 版本没有改变

java - 如何在jsp中获取日期值并将其更新到mysql

java - 如何使用 Servlet 显示响应中包含图像的 JSP 页面?

java - 如何从Filter返回SOAPFault给客户端?