【问题标题】:HttpClient request set Attribute questionHttpClient请求集属性问题
【发布时间】:2009-07-26 17:45:23
【问题描述】:

我使用这个 HttpClient 库玩了一段时间(几周)。 我想以某种方式将 Attribute 设置为请求。不是参数而是属性。在我的 servlet 中,我想使用 Integer inte = (Integer)request.getAttribute("obj");

我不知道我想念什么。我试试这个。

NameValuePair[] pair = new NameValuePair[1];
pair[0] = new NameValuePair();
pair[0].setName("aloha");
pair[0].setValue("value");

但是这个设置参数不是属性.. 我也使用它,因为这只是一个具有接受字符串和对象的方法的对象。仍未解决。

HttpClientParams clParam = new HttpClientParams();
clParam.setParameter("obj", new Integer(24405));
method.setParams(clParam);

请给我一些线索.... 谢谢。

【问题讨论】:

  • 什么库和语言?设置属性是什么意思?另外,请不要使用“?!?!?!?!?!?”在您的标题中,它对任何人都没有帮助。
  • 我认为是 Java,因为他有一个 servlet
  • @Brian - 我想是的,因为这些类名与 Java 一致,特别是 Apache HTTP-Client 库。
  • 谢谢。我忘记了 HTML 中的表单不能只接受文本。不能接受对象。属性是在服务器端设置的,因此 servlet 可以使用它。知道了。谢谢。

标签: java parameters attributes httpclient


【解决方案1】:

我相信您误解了setAttribute/getAttribute 方法的目的。通过“getAttribute”放入检索请求中的数据只能通过服务器上的 setAttribute 调用来设置。客户端不能强制在此处设置值,因为将参数从客户端传递到服务器的唯一方法是通过参数(或 POST 请求中的某种其他结构)。

getAttribute/setAttribute 真正用于在使用RequestDispatcher 时在服务器代码段之间传递信息。

【讨论】:

    【解决方案2】:

    来自servlet request API

    可以通过两种方式设置属性。这 servlet 容器可以设置属性 提供自定义信息 关于一个请求。例如,对于 使用 HTTPS 发出的请求, 属性 javax.servlet.request.X509Certificate 可用于检索信息 客户的证书。 属性也可以设置 以编程方式使用 setAttribute(java.lang.String, java.lang.Object)。这允许 要嵌入的信息 RequestDispatcher 之前的请求 打电话。

    你真的是指属性吗?您是否想从客户端设置 参数HTTP 标头

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多