【发布时间】:2017-02-27 17:43:29
【问题描述】:
我正在使用 HttpServletRequest,我必须输出该对象的所有标头和信息。
对于我正在使用的标题getHeadersNames()
Enumeration<String> headerEnums = servletRequest.getHeaderNames();
while (headerEnums.hasMoreElements()) {
String elementName = headerEnums.nextElement();
String elementValue = servletRequest.getHeader(elementName);
sb.append("Header.").append(elementName).append("=").append(elementValue).append(", ");
}
然后我使用 getter 检索所有参数,例如:
sb.append("getAuthType").append("=").append(servletRequest.getAuthType());
我从getContentType() 得到重复的参数,例如Header.content-type 和ContentType
我的问题:
- 有一种很好的方法可以输出所有
servletRequest参数而无需遍历headers、attributes和getter?喜欢 toString()? - 如何避免在没有时间集的情况下检索重复的参数?
- 是否可以在 Headers 中包含一个其 getter 为空的标头?例如:
content-type存在于 Headers 但getContentType()为空?
【问题讨论】:
-
docs.oracle.com/javaee/5/api/javax/servlet/… 会将所有请求参数作为 Map 返回。
-
@ramp 我很确定 OP 想要一个返回所有内容的方法 - 查询参数、标题等。
-
@SvetlinZarev,你是对的,因为帖子和代码都是关于标题的。我只是从字面上回答了这个问题:)
-
@ramp 谢谢,但是我找了一个返回所有东西的方法,我以为从标题和解释上就很清楚了,对不起。