我用这个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。
答案 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标头?