2012-10-19 55 views
1

我想将客户端的字符串传输到Web服务器。无法从httpRequest获取参数

客户端代码:

String uriString = "http://128.128.4.120:8080/GCMService/GCMBroadcast"; 
URI uri = null; 
try { 
    uri = new URI(uriString); 
} catch (URISyntaxException e) { 
    e.printStackTrace(); 
} 
DefaultHttpClient httpClient = new DefaultHttpClient(); 
HttpPut httpPut = null; 
if(uri!=null) 
httpPut = new HttpPut(uri); 
HttpParams params = new BasicHttpParams(); 
params.setParameter("mymsg", "HELLO SERVER"); 
httpClient.setParams(params); 
HttpResponse resp = httpClient.execute(httpPut); 

服务器代码:

@Override 
protected void doPut(HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException {  
    System.out.println(req.getParameter("mymsg")); 

} 

的服务器输出“空”的控制台,我希望应该是“Hello服务器”,每次的客户端请求httpPut。这是如何造成的,我该如何解决这个问题。

回答

0
String uriString = "http://128.128.4.120:8080/GCMService/GCMBroadcast"; 
URIBuilder uriBuilder = new URIBuilder(uriString); 
uriBuilder.addParameter("mymsg", "HELLO SERVER"); 
DefaultHttpClient httpClient = new DefaultHttpClient(); 
HttpPut httpPut = new HttpPut(uriBuilder.build()); 
HttpResponse resp = httpClient.execute(httpPut); 
+0

感谢您的回复。我还没有测试你的代码。我很好奇我的代码中究竟发生了什么错误。我想知道它,所以我可以更好地了解HTTPComponents。 – glenlivet1986

+0

来自HTTP组件javadoc:“HttpParams接口表示定义组件的运行时行为的不可变值集合”。显然,它们与您的服务器端组件在req.getParameter(...) –

+0

工作时收到的参数不同。干杯! – glenlivet1986