0
Здесь я отправляю данные JSON, используя HttpClient. Но я не могу прочитать данные в другом приложении. Когда я делаю request.getParameter("username")
, он возвращает мне null. Оба моих приложения развернуты на одном сервере. Пожалуйста, скажите мне, что я делаю неправильно. Thank youJava HttpClient: Не удалось прочитать данные json в почтовом запросе
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String username = request.getParameter("username");
String password = request.getParameter("password");
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost("http://localhost:8080/AuthenticationService/UserIdentificationServlet");
postRequest.setHeader("Content-type", "application/json");
StringEntity input = new StringEntity("{\"username\":\""+username+"\"}");
input.setContentType("application/json");
postRequest.setEntity(input);
HttpResponse postResponse = httpClient.execute(postRequest);
BufferedReader br = new BufferedReader(new InputStreamReader((postResponse.getEntity().getContent())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
httpClient.getConnectionManager().shutdown();
}
Вы должны понимать разницу между [применение/х-WWW-форм-urlencoded] (http://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart -форма-данные), т. е. параметры запроса формы ('HttpServletRequest # getParameter()') и имеющие 'application/json', у которого есть тело запроса' json' ('HttpServletRequest # getInputStream()'). –