Servlets 使用servlet将文件上载到主机上的应用程序

Servlets 使用servlet将文件上载到主机上的应用程序,servlets,file-upload,image-upload,Servlets,File Upload,Image Upload,我有一个文件要上传。。。它在我的服务器上工作,我上传到http://localhost:8084/TestAmazon 而且它是有效的。。。但我们将我的web应用程序部署到主机并上载文件,但它不起作用。。。请帮帮我 您是否控制主机上的tomcat服务器?是的,我控制。我使用一个免费的主机openshiftMake确保Tomcat服务器使用的ServletAPI版本与您的应用程序相同。您能帮助我如何获取ServletAPI并对其进行更改吗。它在pom.xml中吗??servlet api通常由se

我有一个文件要上传。。。它在我的服务器上工作,我上传到http://localhost:8084/TestAmazon 而且它是有效的。。。但我们将我的web应用程序部署到主机并上载文件,但它不起作用。。。请帮帮我


您是否控制主机上的tomcat服务器?是的,我控制。我使用一个免费的主机openshiftMake确保Tomcat服务器使用的ServletAPI版本与您的应用程序相同。您能帮助我如何获取ServletAPI并对其进行更改吗。它在pom.xml中吗??servlet api通常由servlet容器提供。在pom.xml中,应该为同一版本的servlet api声明一个条目,但将其设置为“提供”,以便它仅用于编译,而不用于部署。
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
           String relativeWebPath = "/image";
    String absoluteFilePath = getServletContext().getRealPath(relativeWebPath);
    if (ServletFileUpload.isMultipartContent(request)) {
        try {
            List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
            for (FileItem item : multiparts) {
                if (!item.isFormField()) {
                    String name = new File(item.getName()).getName();
                    item.write(new File(absoluteFilePath + File.separator + name));
                }
            }
            request.setAttribute("message", "File Uploaded Successfully");
        } catch (Exception e) {
            request.setAttribute("message", "File Upload Failed due to " + e);

        }
    } else {
        request.setAttribute("message",
                "Sorry this Servlet only handles file upload request");
    }
    request.getRequestDispatcher("result.jsp").forward(request, response);
}
    exception

javax.servlet.ServletException: Servlet execution threw an exception
root cause

java.lang.NoSuchMethodError: org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload.parseRequest(Ljavax/servlet/http/HttpServletRequest;)Ljava/util/List;
    sample.ProcessServlet.doPost(ProcessServlet.java:73)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)