2014-02-05 3 views
0

Я пытаюсь проверить сервлет, который устанавливает атрибуты на ServletRequest. Я использую jbehave с restTemplate и apache httpClient для отправки запроса на этот сервлет. Можно ли проверить, какие атрибуты были установлены на servletRequest?Как получить servletRequest.attributes на стороне клиента

вот что я в основном пытаюсь сделать в сервлете:

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 была установлен со значением простого-

ответ

1

Нет, это невозможно. Атрибуты HttpServletRequest - это детали реализации на стороне сервера, которые не имеют ничего общего с протоколом HTTP. Таким образом, HTTP-клиент не знает об этом (и не должен).

Если вы хотите проверить, что атрибут был добавлен со стороны сервера, вы можете реализовать и зарегистрировать ServletRequestAttributeListener в своем веб-приложении.

Смежные вопросы