【发布时间】:2016-07-21 07:14:41
【问题描述】:
我编写了一个 Web 服务并以 HttpServletRequest Object 的形式获取请求,然后我发送所有标头进行基本验证,例如检查 Blanks 或 null 等。
public void validateHeader(HttpServletRequest request)
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String key = (String) headerNames.nextElement();
String value = request.getHeader(key);
genericHeaderValidator(key, value);
}
}
如您所见,request.getHeaderNames(); 返回Enumeration<String>
.
但在某些 web 服务中,我想跳过验证,因为上面的代码是在其他一些类中编写的,我想保持它的完整性,并希望在调用方完成更改。
例如
如果我想跳过对名为“content-type”的标头的验证,那么当我这样做时request.removeAttribute("content-type");
它不会删除标头属性,所以我更进一步想从Enumeration<String> headerNames 中删除它
但是enumeration doesn't allow us to remove any element。
有谁知道如何从HttpServletRequest Object 的标头参数中删除元素。
【问题讨论】:
标签: java web-services validation servlets http-headers