这是我的应用程序中的代码:
1)我创建了一个接受HTTP请求的类:
import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItemIterator; import org.apache.commons.fileupload.FileItemStream; import org.apache.commons.fileupload.servlet.ServletFileUpload; public class FileUpload extends HttpServlet{ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletFileUpload upload = new ServletFileUpload(); try{ FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); InputStream stream = item.openStream(); // Process the input stream ByteArrayOutputStream out = new ByteArrayOutputStream(); int len; byte[] buffer = new byte[8192]; while ((len = stream.read(buffer, 0, buffer.length)) != -1) { out.write(buffer, 0, len); } int maxFileSize = 10*(1024*1024); //10 megs max if (out.size() > maxFileSize) { throw new RuntimeException("File is > than " + maxFileSize); } } } catch(Exception e){ throw new RuntimeException(e); } }}2)然后在我的web.xml中添加了以下几行:
<servlet> <servlet-name>fileUploaderServlet</servlet-name> <servlet-class>com.testapp.server.FileUpload</servlet-class></servlet><servlet-mapping> <servlet-name>fileUploaderServlet</servlet-name> <url-pattern>/testapp/fileupload</url-pattern></servlet-mapping>
3)对于form.action这样做:
form.setAction(GWT.getModulebaseURL()+"fileupload");



