如何在泽西POST注释中访问POST方法(Android)发送的数据? Android客户端:
public class TestClient extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_main);
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("myURL");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("user", "user1"));
nameValuePairs.add(new BasicNameValuePair("password", "password1"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
httpclient.execute(httppost);
} catch (ClientProtocolException e) {
} catch (IOException e) {
}
}
}
以下是Tomcat在Localhost上运行的服务器代码:
@Path("test")
public class Test {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String respondAsReady() {
return "Running";
}
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
@Produces(MediaType.TEXT_PLAIN or other?)
//Here I'd like the program to post (with System.out.println) the data to the console which is uploaded by the client using the POST method.
}
}
答案 0 :(得分:1)
无论客户端是使用httpclient的PHP,html还是android,服务器端都不应该关心。您应该能够使用@FormParam注释来获取值。请参阅question I posted in the comments或this example中的答案。
您应该能够将答案更改为更简单的内容:
@POST
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public void themethodname(@FormParam("user") String user,
@FormParam("password") String password) {
System.out.println("Username: "+user+", "+"Password: "+password);
}