我正在編寫一個Android應用程序,它具有將數據上傳到servlet的功能,當我說數據時,我的意思是很多字符串。該servlet在Apache Tomcat v6中運行,並以Java編寫。在我看來,我看到的一種做法是使用HttpUrlConnection
。如何向servlet發送大量數據
客戶端:
URL u = new URL("http://servlet location");
HttpURLConnection httpCon = (HttpURLConnection) u.openConnection();
httpCon.setRequestMethod("GET");
httpCon.setDoOutput(true);
httpCon.setDoInput(true);
httpCon.setUseCaches(false);
httpCon.setDefaultUseCaches(false);
DataInputStream in = new DataInputStream(httpCon.getInputStream()); // line 8
DataOutputStream out = new DataOutputStream(httpCon.getOutputStream());
// -- writing to servlet using the outputStream --`
... ...
Servlet的一面:
DataInputStream dis = new DataInputStream(request.getInputStream());
DataOutputStream out = new DataOutputStream(response.getOutputStream());
int numFiles = dis.readInt(); //line 3
for(int i=0;i<numFiles;i++)
{
this.data.add(dis.readUTF()); //data is a vector that contains String types
}
當我到客戶端上線8條,它觸發一個HTTP GET
要求,即預製件servlet的一面。
一切都很好,但是當servlet進入ois.readUTF()
時,它引發了一個異常,而不是等待傳入的數據。
它拋出什麼異常? – 2012-03-04 22:26:18
在servlet中,我得到一個EOF異常 – Netanel 2012-03-05 12:48:10