com.google.gwt.user.client.Window如何从答案中获取Http状态代码?

时间:2016-04-06 07:47:58

标签: java gwt

我使用com.google.gwt.user.client.Window.open(String url, String name, String features)从服务器下载文件。

当服务器的结果是200 OK时,每个想法都没问题 - 我正在获取文件。

当服务器的结果与200 OK不同时出现问题,例如:500 Internal Server Error401 Unauthorised。然后我得到了丑陋的Tomcat错误页面,其中包含有关该问题的信息。

我想捕获与200 OK不同的每个状态代码并显示我自己的信息或重定向到f.e. Login Page

我怎么能做到这一点?

1 个答案:

答案 0 :(得分:2)

要实现所需的功能,首先我们需要检查服务器上是否存在文件。我们可以通过简单的头部请求来实现。以下是相同

的示例代码
XMLHttpRequest req = XMLHttpRequest.create();
req.open("HEAD", fileURL);
req.setOnReadyStateChange(new ReadyStateChangeHandler() {

    @Override
    public void onReadyStateChange(XMLHttpRequest xhr) {

        if (xhr.getReadyState() == XMLHttpRequest.DONE) {
            if (xhr.getStatus() == 200) {
                Window.open(fileURL, winTitle, "");
            } else {
                // TODO handle other status codes
            }
        }
    }
});
req.send();