0

我有一个 HttpServlet 类,它委托给一个脚本,该脚本将响应作为字符串返回。字符串包括标题,例如:

Content-Type: text/html; charset=ISO-8859-1
<!DOCTYPE html...

我可以用这个以某种方式填充 HttpServletResponse 吗?甚至从这个字符串创建一个新的 HttpServletResponse 对象,还是我别无选择,只能手动解析字符串并分别设置标题和正文?

4

2 回答 2

0

HttpServlet 没有接受字符串形式的标头并初始化其所有字段的构造函数。您必须按值解析字符串值并调用

void addHeader(java.lang.String name, java.lang.String value)

或者,您可以使用一个库来解析 HTTP 标头,例如 HttpCore 4.2 中的 BasicHeaderValueParser(请参阅 Apache HttpComponents http://hc.apache.org/),但如果您只想解析一个标头,这可能是多余的。

于 2013-08-02T08:58:35.177 回答
0

您可以下载任何开源 servlet 容器(tomcat、jetty 等)的代码并找到解析 HTTP 内容的类以构建 HttpRequest/HttpResponse 对象。

于 2013-08-02T09:32:49.537 回答