在ServletOutputStream中设置状态代码

时间:2013-11-29 09:47:58

标签: java http

我正在使用Java中的一些现有代码开发Web服务。 Web服务使用ServletResponse接口生成响应。当前代码首先创建ServletResponse对象,设置头,然后将ServletOutputStream传递给另一个方法,并让另一个方法编写响应体部分。代码如下:

{
   ServeletResponse sr = new HttpServletResponseWrapper();
   sr.setContentType("text/xml;charset=utf-8");
//checkLogic write the HTTP response body to outputstream
   checkLogic(xmlRequestTree, sr.getOutputStream());
}
'checkLogic'检查xmlRequestTree的验证(关于我们的业务逻辑),如果有效,则将响应写入传递的输出流,否则,将错误写入输出流。现在我想更改checkLogic(),当验证失败时,不仅要编写错误消息,还要返回HTTP错误代码。我的问题是,如果保持当前代码结构不变,是否可以在checkLogic()中设置HTTP代码,因为checkLogic()只获取响应的OutPutStream。

1 个答案:

答案 0 :(得分:0)

不,您需要ServletResponse对象。