Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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/2/google-app-engine/4.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 如何自定义自定义http错误代码返回的默认html文件_Java_Google App Engine - Fatal编程技术网

Java 如何自定义自定义http错误代码返回的默认html文件

Java 如何自定义自定义http错误代码返回的默认html文件,java,google-app-engine,Java,Google App Engine,在我的应用程序中,我想返回错误代码并在服务器上设置错误消息。这就是我使用的: response.setStatus(530); response.sendError(530, e.getMessage()); 当我返回这样的自定义错误时,AppEngine总是发送默认html模板中包装的错误代码和状态。在javascript中: $(document).ajaxError(function (event, request, settings) { // request.stat

在我的应用程序中,我想返回错误代码并在服务器上设置错误消息。这就是我使用的:

response.setStatus(530);
response.sendError(530, e.getMessage());
当我返回这样的自定义错误时,AppEngine总是发送默认html模板中包装的错误代码和状态。在javascript中:

$(document).ajaxError(function (event, request, settings) {
        // request.statusText is always "Internal Server Error" 
        // and not my custom status message
        // request.responseText is an html string
    });

顺便说一下,在开发服务器中是不同的。statusText我的自定义错误文本

在web.xml文件中,您可以指定用于特定错误代码的jsp:

<error-page>
    <error-code>404</error-code>
    <location>/WEB-INF/jsp/errors/404.jsp</location>
</error-page>
<error-page>
    <error-code>500</error-code>
    <location>/WEB-INF/jsp/errors/500.jsp</location>
</error-page>

404
/WEB-INF/jsp/errors/404.jsp
500
/WEB-INF/jsp/errors/500.jsp
jsp将根据需要呈现

请注意,这在本地devserver中无法正常工作,您需要进行部署才能看到它的运行。为了帮助开发,您可以直接将错误页面作为jsp加载

错误页面呈现仅在
resp.sendError(code)
时发生-如果只执行
resp.setStatus(code,message)
操作,servlet容器将不会处理此类错误。例如,这允许您仍然返回json和ajax调用的错误代码

如果您没有指定页面,servlet容器将自行决定是否提供HTML(正如您已经看到的)