小编Mas*_*A2Z的帖子

使用HttpServletRequest捕获重复的请求标头

我遇到了HttpServlet请求问题.我有一个应用程序,它将检索请求标头.如果应用程序找到重复的标题名称,则应该抛出错误.但是,经过一段谷歌搜索后,我发现HttpServletRequest忽略了重复的标题名称,并继续获取它遇到的第一个标题名称.有什么办法可以捕获那些重复的请求标题吗?

我正在使用Tomcat 6作为应用程序容器.

这是代码:

int headerChecker=0;
for(Enumeration<String>names = request.getHeaderNames(); names.hasMoreElements(); ) {
    String name = (String)names.nextElement();
    if(name.equalsIgnoreCase("abcd")){
        headerChecker++; // add 1 to headerChecker if abcd header is encountered
    }
    for(Enumeration<String>values = request.getHeaders(name); values.hasMoreElements(); ) {
        String value=(String)values.nextElement();
        System.out.println("name: "+name+"\tvalue: "+value);
        }
    }

    if(headerChecker! = 1){
        logger.error("abcd is duplicated, returning HTTP 404");
    } else {
        //...proceed with application
    }
}
Run Code Online (Sandbox Code Playgroud)

这是日志:

name:  host   value: localhost:8080  name: user-agent value:
CocoaRestClient/8 CFNetwork/520.4.3 Darwin/11.4.2 (x86_64)
(MacBookPro9%2C2)  name: content-length value: 23 …
Run Code Online (Sandbox Code Playgroud)

java servlets tomcat6

2
推荐指数
1
解决办法
3128
查看次数

标签 统计

java ×1

servlets ×1

tomcat6 ×1