Java GWT:如何从多部分表单(文件)上载返回(和处理)错误

Java GWT:如何从多部分表单(文件)上载返回(和处理)错误,java,javascript,gwt,servlets,file-upload,Java,Javascript,Gwt,Servlets,File Upload,我有和Google Web Toolkit(多部分)表单,它将一个文件发布到我的servlet。当servlet中发生错误时,我返回一个错误。当一切正常时,我返回一个JSON字符串 ... response.setContentType("text/html"); response.setCharacterEncoding("UTF8"); response.getWriter().write(out.toString()); } catch (FileUplo

我有和Google Web Toolkit(多部分)表单,它将一个文件发布到我的servlet。当servlet中发生错误时,我返回一个错误。当一切正常时,我返回一个JSON字符串

    ...
    response.setContentType("text/html");
    response.setCharacterEncoding("UTF8");
    response.getWriter().write(out.toString());

} catch (FileUploadException e) {
    response.sendError(500, e.getMessage());
} catch (Exception e) {
    response.sendError(500, e.getMessage());
}
问题是我找不到在客户端处理这个问题的方法。这是post正常运行且返回错误代码时触发的事件。但我找不到如何找到它是好还是不好?如何从客户机代码中的异常获取错误消息

@UiHandler("form")
void submitComplete(SubmitCompleteEvent event)
{
    ...

目前,似乎没有合适的方法可用(如“s
getStatusCode
)。您必须处理服务器返回给您的错误文档。您可以通过在服务器上设置更易于解析/处理的自定义错误文档(对于生产服务器,您应该以任何一种方式设置这些文档)来简化此任务


GWT的Google Group上的相关线程:和。

您可以覆盖默认错误文档(在服务器的配置中),以便它们只输出状态码,例如,在响应中搜索“500”会更容易,然后分析整个默认错误页。@Igor Klimer:是否值得只为一个servlet更改服务器配置?为什么我找不到响应代码(200或500)?好吧,奇怪的是你没有访问响应代码的权限,就像在
RequestBuilder
。。。但现在似乎什么也做不了(也许在GWT的bug追踪器上创建一个新的问题/改进?)GWT小组的两个相关线程:和。将响应的内容类型设置为
text/html
似乎很重要,以确保它在所有浏览器上都能工作(即使它实际上包含JSON)。@Igor Klimer非常感谢:)似乎我必须返回代码为200的错误消息或更改服务器配置(或者忽略servlet返回的所有不正确的JSON)很高兴我能提供帮助:)我添加了一个答案,总结了上面的评论,这样其他人就可以更容易地找到这个问题的答案。