如何从Servlet 2.3或2.5中的响应中获取头

时间:2012-10-04 13:09:37

标签: java java-ee servlets servlet-filters servlet-2.5

我知道v3.0有方法getHeader()但是2.3呢?也许有可能从蒸汽中获得?

更新:

实际上,我需要HTTP响应头RESTful应用程序。出于某种原因,我决定在servlet过滤器中这样做......但没有成功...... 解决方案@javax.ws.rs.core.Context HttpHeaders requestHeaders

例如,

@javax.ws.rs.GET
public String invoceRestMethod(@Context HttpHeaders requestHeaders){
      MultivaluedMap<String, String> map = headers.getRequestHeaders();
      for (Map.Entry<String, List<String>> entry : map.entrySet()) {
      //  processing header.... 
      }     
}

也许会帮助某人。但无论如何,对于Servlet问题仍然是打开的

1 个答案:

答案 0 :(得分:5)

您无法从流 * 获取标头。

您需要做的是在调用Servlet之前将代理响应对象插入到过滤器链中,然后捕获标头。


*实际上,您可以使用代理响应从流中捕获内容并解码标头。但是,如果要插入代理响应,则直接捕获标题会更简单。