Java Appengine多部分Servlet

Java Appengine多部分Servlet,java,google-app-engine,servlets,Java,Google App Engine,Servlets,我在appengine(Java7)中遇到了多个问题。我想创建一个接受多部分/表单数据请求的servlet。我读过: AppengineServlet版本是2.5,所以我不能使用getParts()、getParte(“”)等。。。 (我已经试过了)。我收到一个“500服务器错误” 看看这个,在GAE中您确实无法写入磁盘文件系统。请参阅GAE方法的副本。 protected void doPost(HttpServletRequest req, HttpServletRespon

我在appengine(Java7)中遇到了多个问题。我想创建一个接受多部分/表单数据请求的servlet。我读过:

AppengineServlet版本是2.5,所以我不能使用getParts()、getParte(“”)等。。。 (我已经试过了)。我收到一个“500服务器错误”


看看这个,在GAE中您确实无法写入磁盘文件系统。请参阅GAE方法的副本。
protected void doPost(HttpServletRequest req,
        HttpServletResponse res) throws ServletException, IOException {

try {
    List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(req); /This is not working
    for (FileItem item : items) {
        if (item.isFormField()) {
            // Process regular form field (input type="text|radio|checkbox|etc", select, etc).
            String fieldName = item.getFieldName();
            String fieldValue = item.getString();
            // ... (do your job here)
        } else {
            // Process form file field (input type="file").
            String fieldName = item.getFieldName();
            String fileName = FilenameUtils.getName(item.getName());
            InputStream fileContent = item.getInputStream();
            // ... (do your job here)
        }
   }
} catch (Exception e) {
    JSONObject json = new JSONObject();
    json.put("errorMessage", e.getMessage());
    res.setContentType("application/json");
    json.put("error","Cannot parse multipart request.");
    PrintWriter out = res.getWriter();
    out.print(json.toString());
    out.flush();
    out.close();
    //throw new ServletException("Cannot parse multipart request.", e);
}




}
java.lang.NoClassDefFoundError: Could not initialize class org.apache.commons.fileupload.disk.DiskFileItem
at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:191)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:350)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
at com.crumbits.servlet.CreateCrumbServlet.doPost(CreateCrumbServlet.java:39)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:125)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:37)