HttpClient请求集属性问题

时间:2009-07-26 17:45:24

标签: java parameters attributes httpclient

我用这个HttpClient lib玩了一段时间(几周)。 我想以某种方式将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);

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

2 个答案:

答案 0 :(得分:4)

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

getAttribute / setAttribute实际上用于在使用RequestDispatcher时在服务器代码之间传递信息。

答案 1 :(得分:0)

来自servlet request API

  

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

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