這個簡單的post方法沒有向服務器(servlet)發送任何東西。我可以得到,但我不能發佈!Servlet收到的OutputStream爲空
@Override
protected String doInBackground(String... params) {
try {
URL url = new URL("http://ipaddr:8080/work/wh");
HttpURLConnection client = (HttpURLConnection) url.openConnection();
client.setRequestMethod("POST");
client.setDoOutput(true);
client.setChunkedStreamingMode(0);
client.connect();
OutputStream outputStream = client.getOutputStream();
PrintWriter pw = new PrintWriter(outputStream);
pw.println(System.currentTimeMillis());
pw.println(System.currentTimeMillis());
pw.println(new Float(5.6));
pw.println(new Integer(3));
pw.println(new Integer(2));
pw.println(new Integer(32));
pw.println(new Integer(2));
pw.close();
outputStream.close();
}catch(Exception e){
Log.e("text", "ux " + e.getMessage());
}
return null;
}
在服務器端,如果我試圖讀取任何行new Scanner(request.getInputStream()).nextLine();
我得到
NoSuchElementException異常:未找到行
你覺得可能是這個問題?
'NoSuchElementException'不是'void'。 – EJP
我的意思是我得到無效的對象inputsteam沒有數據 – Error
代碼不是MCVE格式,原因在目前提供的信息中是不可見的,所以我們只能給出有教育意義的猜測。您是否知道請求主體在被服務器事先(已隱式地)解析時會爲空?例如。調用'request.getParameter()'會導致它立即被解析。儘管如此,爲什麼不按照HTML表單使用的默認'application/x-www-form-urlencoded'格式,並且由servlet API本地支持?另請參閱http://stackoverflow.com/q/2793150 – BalusC