如何在客户端检索servletRequest.attributes

时间:2014-02-05 23:36:12

标签: java jsp http servlets resttemplate

我正在尝试测试一个在ServletRequest上设置属性的servlet。 我正在使用jbehave和restTemplate以及apache httpClient向该servlet发送请求。 是否可以验证在servletRequest上设置了哪些属性?

这是我在servlet中基本上要做的事情:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws OException, ServletException{ 
request.setAttribute("attributeName","SIMPLE_NAME"); 
...
} 

和客户:

HttpEntity entity = HttpEntity.EMPTY;
 Map<String, String> map = new HashMap<String, String>();
 restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
 HttpEntity<String> response = restTemplate.exchange(uri, HttpMethod.GET, entity, String.class, map);

所以在这种情况下,我想验证attributeName是否设置了值SIMPLE_NAME

1 个答案:

答案 0 :(得分:1)

不,这是不可能的。 HttpServletRequest属性是与HTTP协议无关的服务器端实现细节。因此,HTTP客户端不知道这一点(也不应该)。

如果要检查是否已从服务器端添加属性,则可以在Web应用程序中实现并注册ServletRequestAttributeListener