对于我的应用程序引擎应用程序,我想将 servlet 分配给 url 模式,同时还设置了 Objectify 过滤器,如下所述:https://code.google.com/p/objectify-appengine/wiki/Setup .
在我的 app.yaml 中,我有
handlers:
- url: /v1/*
name: v1
servlet: org.restlet.ext.servlet.ServerServlet
...etc...
它可以很好地将请求路由到我的 servlet,但我不知道如何安排 Objectify 过滤器在 servlet 正在处理的相同请求上运行。
GAE docs说“过滤器是一个像 servlet 一样作用于请求的类,但可能允许使用其他过滤器或 servlet 继续处理请求。”
好吧,好吧,这就是我想要的。但文档还说“单个 URL 映射可以包含过滤器或 servlet,但不能同时包含两者。”
那么...我该怎么做?
最佳答案
过滤器在 servlet 之前运行,并且它们不具有排他性。通常,对于一个请求,所有过滤器都会运行,然后会选择并执行给定 URL 的一个 servlet。
在 yaml 中创建一个新的过滤器部分:
handlers:
- url: /v1/*
name: v1
servlet: org.restlet.ext.servlet.ServerServlet
- url: /*
name: ObjectifyFilter
filter: com.googlecode.objectify.ObjectifyFilter
注意:最好让 ObjectifyFilter 对所有请求运行(url:/*
),以确保 objectify 始终初始化。
关于google-app-engine - 如何将过滤器关联到 Google App Engine 的 app.yaml 中的 servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19554450/