使用GAE的忍者框架:访问谷歌应用引擎开发控制台

时间:2016-08-24 17:37:06

标签: java google-app-engine ninjaframework

当通过Ninja框架使用GAE时,我似乎无法访问通常位于http:localhost:8080/_ah/admin的开发控制台。 这是允许您查看数据存储区,日志等的控制台。我该如何访问它?

1 个答案:

答案 0 :(得分:1)

所以我通过查看ninja-appengine github自述文件中提供的示例ninja-appengine应用程序解决了这个问题。我注意到他们的示例应用程序没有遭受同样的问题,这是由于包含我丢失的conf / ServletModule.java文件。下面的代码做了两件事:

它通过Java代码插入一个Objectify Filter,而不是要求通过web.xml包含objectify过滤器。

其次,当在开发环境中运行时,它会使_ah / admin路径可见。注意,我刚刚复制了示例ninja-appengine web应用程序中给出的代码:

包conf;

import ninja.servlet.NinjaServletDispatcher;

导入com.google.appengine.api.utils.SystemProperty; import com.google.inject.Singleton; import com.googlecode.objectify.ObjectifyFilter;

公共类ServletModule扩展了com.google.inject.servlet.ServletModule {

@Override
protected void configureServlets() {

    bind(NinjaServletDispatcher.class).asEagerSingleton();

    // Clean objectify instances with that filter:
    bind(ObjectifyFilter.class).in(Singleton.class);
    filter("/*").through(ObjectifyFilter.class);

    if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Production) {

        serve("/*").with(NinjaServletDispatcher.class);

    } else {
        // do not serve admin stuff like _ah and so on...
        // allows to call /_ah/admin and so on
        serveRegex("/(?!_ah).*").with(NinjaServletDispatcher.class);
    }

}

}