我们可以使用Java中的“new”关键字创建一个HttpResponse对象吗?

时间:2012-08-30 05:31:10

标签: java web-services rest jax-ws

我正在研究Martin Kalin的"Web Services Up and running"书的第4章。

在RestfulTeams练习中,有一种方法可以为一个宁静的WS返回一个简单的HttpResponse,如:

private Source response_to_client(String msg) {
    HttpResponse response = new HttpResponse();
    response.setResponse(msg);
    ByteArrayInputStream stream = encode_to_stream(response);
    return new StreamSource(stream);
}

但是我没有在Java中找到任何可以获得HttpResponse类的库(虽然我认为我们不能像上面的方法那样直接创建这个对象)。

任何澄清都将有助于解决此问题。

1 个答案:

答案 0 :(得分:1)

我相信你正在考虑HttpServletResponse。你无法创建自己的响应对象;服务器创建它的实例并使它们可供您的应用程序使用。

但是示例中的类名为HttpResponse,它可能是一个错误,也可能是本书遗漏的其他类。

写书很难,所以错误可能会失误。这就是为什么在书被打印之后,发现的错误是documented in an errata。您通常会在那里找到解释,并且总有the source code for the book可供学习。

下载源代码,我想你会找到你想要的东西,主要是:

package ch04.team;

import java.io.Serializable;

// Serialized for responses on successful POSTs and PUTs
public class HttpResponse implements Serializable {
    private String resp;
    public void setResponse(String resp) { this.resp = resp; }
    public String getResponse() { return this.resp; }
}