java - "java.lang.NoSuchMethodError: org.apache.commons.fileupload.FileUploadBase.isMultipart"请帮我解决这个异常

标签 java tomcat servlets file-upload nosuchmethoderror

HTTP 状态 500 -

类型异常报告

留言

描述服务器遇到内部错误 (),导致它无法完成此请求。

异常:

javax.servlet.ServletException: Servlet execution threw an exception
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

根本原因:

java.lang.NoSuchMethodError: org.apache.commons.fileupload.FileUploadBase.isMultipartContent(Lorg/apache/commons/fileupload/RequestContext;)Z
org.apache.commons.fileupload.servlet.ServletFileUpload.isMultipartContent(ServletFileUpload.java:71)
WindsofChange.User_FileEncrypt.doPost(User_FileEncrypt.java:50)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

注意 Apache Tomcat/7.0.14 日志中提供了根本原因的完整堆栈跟踪。

Apache Tomcat/7.0.14

这是我的代码:

public class ServletDemo extends HttpServlet {
private static final byte[] initialization_vector = { 22, 33, 11, 44, 55, 99, 66, 77 };
File encryptedPath, uploadedFile;
String fileName;



@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);  
     response.setContentType("text/html");  
      PrintWriter out = response.getWriter();  
    if (isMultipart) {  
       // Create a factory for disk-based file items  
       FileItemFactory factory = new DiskFileItemFactory();  
       // Create a new file upload handler  
       ServletFileUpload upload = new ServletFileUpload(factory);  
      try {  
         // Parse the request  
         List /* FileItem */ items = upload.parseRequest(request);  
        Iterator iterator = items.iterator();  
        while (iterator.hasNext()) {  
          FileItem item = (FileItem) iterator.next();
          //filesize=item.getSize(); get filesize in bytes
          if (!item.isFormField())  
           {  
            fileName = item.getName();
            String root = getServletContext().getRealPath("/");
            File path = new File(root + "/uploads");  
            //if uploads folder not exists create
            if (!path.exists())  
             {  
              boolean status = path.mkdirs();  
             }  
            uploadedFile = new File(path + "/" + fileName);
            encryptedPath = new File(path + "/encrypted" + fileName);
            out.println(uploadedFile.getAbsolutePath()); 
            try{
             if(fileName!="")  
            item.write(uploadedFile);  
             else  
               out.println("file not found");  
            }catch(Exception e){}
             out.println("File Uploaded Successfully....:-)");  
          }  
           else  
           {  
             String abc = item.getString();  
           }

        }
        }catch(Exception e){e.printStackTrace();}

       }  
     else  
     {  
       out.println("Not Multipart");  
     }
  } 

}

最佳答案

我认为问题与您的代码无关。问题的原因可能是Jar。 调整类加载顺序,即可解决问题。

关于java - "java.lang.NoSuchMethodError: org.apache.commons.fileupload.FileUploadBase.isMultipart"请帮我解决这个异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20822502/

相关文章:

java - XPathFactory#newInstance() 无法为默认对象模型创建 XPathFactory : http://java. sun.com/jaxp/xpath/dom

java - 使用 JAX-RS 创建 RESTful Web 服务并将其部署到 tomcat

jsf - 上传的图片仅在刷新页面后可用

javascript - 你如何发送一个数组作为(jquery)ajax请求的一部分

java - 如何在远程服务器上编译servlet?

Java Spring Controller 处理一个荒谬的 url

java - 最佳买卖股票修改版

java - 建议在 java web 应用程序中使用一些作业调度程序或第三方工具

java - 当我有 "Failed to scan[...]"警告时,如何在我的 spring boot 应用程序中处理 JAR 扫描?

spring - 匹配的通配符是严格的,但找不到元素 'batch:job' 的声明 - 仅在生产服务器上