1

我用这个 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);

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

4

2 回答 2

4

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

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

于 2009-07-26T18:20:17.583 回答
0

servlet 请求API

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

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

于 2009-07-26T18:23:10.183 回答