【发布时间】:2013-12-11 00:03:21
【问题描述】:
我正在尝试从客户端使用 Post 方法访问一些 URL,其中包含一些“NameValuePair”格式的数据,并从 servlet(服务器端)中的 URL 接收该数据以执行一些计算并将响应发送回客户端在 JSON fromat 中。
但我能够在 Servlet(服务器)上找到正确的数据
从客户端点击 URL
private void sendHTTPSPost() throws Exception {
String url = "http://localhost:8080/test/Registration";
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
// add header
post.setHeader("User-Agent", USER_AGENT);
List<NameValuePair> urlParameters = new ArrayList<NameValuePair>();
urlParameters.add(new BasicNameValuePair("name", "A"));
urlParameters.add(new BasicNameValuePair("age", "12"));
urlParameters.add(new BasicNameValuePair("sex", "M"));
post.setEntity(new UrlEncodedFormEntity(urlParameters));
HttpResponse response = client.execute(post);
System.out.println("Response Code : " +
response.getStatusLine().getStatusCode());
BufferedReader rd = new BufferedReader(
new InputStreamReader(response.getEntity().getContent()));
StringBuilder result = new StringBuilder();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
System.out.println(result.toString());
}
在 Servlet 上
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
Enumeration headerNames = request.getHeaderNames();
while(headerNames.hasMoreElements()) {
String paramName = (String)headerNames.nextElement();
System.out.println("Value of param is ------------------"+paramName);
String paramValue = request.getHeader(paramName);
System.out.println("Value of key is ------------------"+paramValue);
}
}
我尝试了很多但没有得到正确的结果。
【问题讨论】:
-
您是在获取标头还是请求参数?
-
我正在尝试获取我通过 url 发送的列表值
标签: java jsp jakarta-ee servlets