【问题标题】:How to retrieve servletRequest.attributes on client side如何在客户端检索 servletRequest.attributes
【发布时间】:2014-02-05 23:36:12
【问题描述】:

我正在尝试测试一个在 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);

所以在这种情况下,我想验证属性名称是否设置为 SIMPLE_NAME 值

【问题讨论】:

    标签: java jsp http servlets resttemplate


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-12-14
      • 1970-01-01
      • 2019-11-22
      • 2018-06-07
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      • 1970-01-01
      相关资源
      最近更新 更多