嗨,我正在使用批注而不是web.xml映射servlet,我正在尝试使用objectify从数据存储中检索实体(我正在使用Google App Engine的Java8版本),并且正在使用静态块来注册实体(类)。


  我收到此错误:


java.lang.IllegalStateException: You have not started an Objectify context. You are probably missing the ObjectifyFilter. If you are not running in the context of an http request, see the ObjectifyService.run() method.
    at com.googlecode.objectify.ObjectifyService.ofy(ObjectifyService.java:44)


我知道,在我的情况下,我不必使用web.xml中的对象过滤器(如下代码)

<filter>
    <filter-name>ObjectifyFilter</filter-name>
    <filter-class>com.googlecode.objectify.ObjectifyFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>ObjectifyFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>



  题:


如何在注解中实现对象过滤器?

最佳答案

这将需要对ObjectifyFilter进行代码更改,以便获取@WebFilter批注。在为自己的Servlet /相关代码使用注释时,您仍然可以创建一个web.xml来定义Objectify过滤器,这应该可以解决该问题。

10-06 08:41