Android 如何向servlet发送大量数据

Android 如何向servlet发送大量数据,android,tomcat,servlets,Android,Tomcat,Servlets,我正在编写一个Android应用程序,它有一个将数据上传到servlet的功能,当我说数据时,我指的是很多字符串。servlet在ApacheTomcatV6中运行,并用Java编写。无论我在哪里看到,一种方法就是使用HttpUrlConnection 客户端: URL u = new URL("http://servlet location"); HttpURLConnection httpCon = (HttpURLConnection) u.openConnection(); httpCo

我正在编写一个Android应用程序,它有一个将数据上传到servlet的功能,当我说数据时,我指的是很多字符串。servlet在ApacheTomcatV6中运行,并用Java编写。无论我在哪里看到,一种方法就是使用
HttpUrlConnection

客户端:

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
}
DataInputStream dis=newdatainputstream(request.getInputStream());
DataOutputStream out=新的DataOutputStream(response.getOutputStream());
int numFiles=dis.readInt()//第3行

对于(int i=0;i当您有大量数据(如大文件或大图像/高质量图像)要发送到服务器时,您可以将其分块发送


首先与服务器建立连接,然后使用
DataOutputStream
类发送数据块。在服务器端,同样,您需要实现接收这些数据块的代码,并在获得所有数据块后将它们放在一个文件中。

它引发了什么异常?在servlet中,我得到了一个EOF异常。这就是我试图做的,bu当servlet到达ois.readUTF()行时,它会抛出一个异常,而不是等待数据…当servlet到达servlet.p.s中的第3行时,它会抛出一个java.io.EOFException-我想上传字符串,而不是文件。。。