为什么现场AppEngine没有调用我的servlet过滤器?

时间:2016-03-03 09:09:06

标签: java google-app-engine google-cloud-endpoints servlet-filters

我为我的app引擎项目编写了一个servlet过滤器。

它是从本地开发机器调用的。

但是当我将代码放入Google App Engine实时服务器时,它就不会被调用。

有人可以解释原因吗?

这是在web.xml中映射的方式

  <filter>
    <filter-name>ErrorHandlerFilter</filter-name>
    <filter-class>com.fms.advocacy.filters.ErrorHandlerFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>ErrorHandlerFilter</filter-name>
    <url-pattern>/_ah/api/*</url-pattern>
  </filter-mapping>

这是过滤器。

public class ErrorHandlerFilter implements Filter {
    private static final Logger log = Logger.getLogger(ErrorHandlerFilter.class.getName());

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 
            log.warning("Entered ErrorHandlerFilter!!"); 
    }
}

PS:我正在使用Google Cloud Endpoint对我的API进行编码

1 个答案:

答案 0 :(得分:0)

问题在于<url-pattern>/_ah/api/*</url-pattern> 在服务器中,网址已更改为<url-pattern>/_ah/spi/*</url-pattern>

现在它正在运作。