Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 播放全局设置覆盖不工作_Java_Playframework 2.0 - Fatal编程技术网

Java 播放全局设置覆盖不工作

Java 播放全局设置覆盖不工作,java,playframework-2.0,Java,Playframework 2.0,我已经使用onStart方法一段时间了,它可以正常工作,但是当我尝试重写onBadRequest时,我得到一个错误: 下面是课程: import models.User; import play.Application; import play.GlobalSettings; import play.Logger; import play.mvc.Result; import views.html.error_page; import static play.mvc.Results.badRe

我已经使用onStart方法一段时间了,它可以正常工作,但是当我尝试重写onBadRequest时,我得到一个错误:

下面是课程:

import models.User;
import play.Application;
import play.GlobalSettings;
import play.Logger;
import play.mvc.Result;
import views.html.error_page;

import static play.mvc.Results.badRequest;


public class Global extends GlobalSettings {

    @Override
    public void onStart(Application app){
        Logger.info("Application started!");
        // Check if the database is empty
        if(User.find.findRowCount()==0){
            Ebean.save((List) Yaml.load("initial-data.yml"));
        }
    }

    @Override
    public void onStop(Application app){
        Logger.info("Application stopped!");
    }

    @Override
    public Result onBadRequest(String uri, String error) {
        Logger.info("Bad Request");
        return badRequest(error_page.render());
    }

}
前两个工作没有问题,但第三个会导致错误

这是API条目:

它的工作原理是:

@Override
public Result onError(Http.RequestHeader request, Throwable t){
    Logger.error("Error thrown: " + t.getMessage());
    return internalServerError(error_page.render());
}
佩奇很有用。我仍然不明白为什么API是错误的

我希望这能帮助那些有类似问题的人。

这很有效:

@Override
public Result onError(Http.RequestHeader request, Throwable t){
    Logger.error("Error thrown: " + t.getMessage());
    return internalServerError(error_page.render());
}
佩奇很有用。我仍然不明白为什么API是错误的

我希望这对有类似问题的人有所帮助。

您使用了旧的API

下面是播放2.1.1的API:

  • 在找到操作但请求解析失败时调用

    Result onBadRequest(Http.RequestHeader request, java.lang.String error)
    
  • 发生异常时调用

    Result onError(Http.RequestHeader request, java.lang.Throwable t)
    
    • 您使用了旧的API

      下面是播放2.1.1的API:

      • 在找到操作但请求解析失败时调用

        Result onBadRequest(Http.RequestHeader request, java.lang.String error)
        
      • 发生异常时调用

        Result onError(Http.RequestHeader request, java.lang.Throwable t)