2011-08-08 37 views
0

我有一个使用XML进行数据交换的Java Web应用程序。我写了一个servlet,它使用HTTP Post从特定的客户端上载XML文件。 Post方法成功完成后,它会向客户端发送200 OK消息(使用默认Web服务器HTTP状态)。现在,我需要在应用程序中包含一些HTTP状态代码,以便当上传出现问题时,客户端将获得一些HTTP状态消息(例如,400错误请求,502错误网关)。我应该如何在我的web应用程序中添加HTTP状态码?请帮我建议。谢谢基于Java服务器的Web应用程序中的HTTP状态代码

回答

2

您可以使用HttpServletResponse#setStatus()HttpServletResponse#sendError()

@Override 
public void doPost(HttpServletRequest request, HttpServletResponse response) { 

    // handle upload 

    // if error 
    response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); 

    // or 
    response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 
         "An unknown error occurred"); 
} 

的方法在它们所造成的servlet容器做什么不同,所以选择一个最适合您的情况。

  • setStatus()

    如果使用这种方法来设置一个错误代码,然后将容器的 错误页面机制不会被触发。

  • sendError()

    使用指定状态时发送错误响应到客户机和 清除缓冲区。服务器默认为创建到 响应看起来像一个包含指定 消息

状态码常量的列表中的HTML格式的服务器错误页面是在Field Summary of the javadoc可用。对于你的问题的代码( “important_parameter需要” res.SC_BAD_REQUEST)

相关问题