Java JSP中的NoClassDefFoundError

Java JSP中的NoClassDefFoundError,java,jsp,Java,Jsp,我在ServletException中得到一个NoClassDefFoundError,在这些行的第二行: List items; items = servlet_up.parseRequest(request); 我一直在寻找它,从中我想我已经了解了情况,但没有找到解决办法 在中,Alvaro说我们可以导入缺少的库来修复它,但因为: 1.-我不知道它适合我(可能是servlet api.jar?) 2.-它是一个JSP而不是Java类(我的意思是,我没有编译它,所以我不知道它使用的是哪个ja

我在ServletException中得到一个NoClassDefFoundError,在这些行的第二行:

List items;
items = servlet_up.parseRequest(request);
我一直在寻找它,从中我想我已经了解了情况,但没有找到解决办法

在中,Alvaro说我们可以导入缺少的库来修复它,但因为:

1.-我不知道它适合我(可能是servlet api.jar?)

2.-它是一个JSP而不是Java类(我的意思是,我没有编译它,所以我不知道它使用的是哪个jar)

-我应该把罐子放在哪?在JSP应用程序的
/lib/
文件夹中

就这样,我真的不知道如何继续

提前谢谢你

更新:这不是
列表
类的问题,因为问题出现在已经使用列表的第二行

除此之外,我有以下几种进口产品:

<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="org.apache.commons.io.*" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.disk.*" %>
<%@ page import="org.apache.commons.fileupload.servlet.*" %>

最后,我在运行时得到的结果是(我将删除一些代码上的注释行,以缩短代码):

type Informe de execpción
门萨耶
描述服务商的内部错误(),说明服务商的内部错误不符合要求。
例外情况
org.apache.jasper.JasperException:Ha sucedido una exception al procesar la página JSP/uploadFile.JSP en línea 39
37:ServletFileUpload servlet\u up=新的ServletFileUpload(文件工厂);
39:List items=servlet\u up.parseRequest(请求);
堆栈跟踪:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
因果关系
javax.servlet.ServletException:java.lang.NoClassDefFoundError:org/apache/commons/io/IOUtils
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794)
org.apache.jsp.uploadFile\u jsp.\u jsp服务(uploadFile\u jsp.java:137)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
因果关系
java.lang.NoClassDefFoundError:org/apache/commons/io/IOUtils
org.apache.commons.fileupload.util.Streams.copy(Streams.java:123)
org.apache.commons.fileupload.util.Streams.copy(Streams.java:70)
org.apache.commons.fileupload.MultipartStream.readBodyData(MultipartStream.java:593)
org.apache.commons.fileupload.MultipartStream.discardBodyData(MultipartStream.java:617)
org.apache.commons.fileupload.MultipartStream.skipPreamble(MultipartStream.java:634)
org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:1023)
org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.(FileUploadBase.java:1003)
org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:310)
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:334)
org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:115)
org.apache.jsp.uploadFile\u jsp.\u jsp服务(uploadFile\u jsp.java:97)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javaservlet.http.HttpServlet.service(HttpServlet.java:717)

从异常堆栈跟踪中,很明显,您在类路径中缺少了
org/apache/commons/io/IOUtils
类。因此,将
commons-io-2.4.jar
(不一定是2.4,它可以是任何其他版本)添加到WEB-INF/lib目录中


您可以在Maven Repository中找到所有JAR

您可以为您的问题添加准确的异常跟踪吗:)?添加了导入和堆栈跟踪。谢谢你的帮助!您应该将包含
IOUtils
的JAR放在WEB-INF/lib文件夹中。您是否将commons io JAR添加到WEB-INF的lib文件夹中?
IOUtils
类可在
commons-io-2.1.JAR
中找到。无需完全使用2.1,您可以使用任何其他可用版本:)
type Informe de Excepción
mensaje
descripción El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.
excepción

org.apache.jasper.JasperException: Ha sucedido una excepción al procesar la página JSP /uploadFile.jsp en línea 39

37:   ServletFileUpload servlet_up = new ServletFileUpload(file_factory);
39:   List items = servlet_up.parseRequest(request);

Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:521)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

causa raíz

javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/commons/io/IOUtils
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:865)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794)
org.apache.jsp.uploadFile_jsp._jspService(uploadFile_jsp.java:137)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

causa raíz

java.lang.NoClassDefFoundError: org/apache/commons/io/IOUtils
org.apache.commons.fileupload.util.Streams.copy(Streams.java:123)
org.apache.commons.fileupload.util.Streams.copy(Streams.java:70)
org.apache.commons.fileupload.MultipartStream.readBodyData(MultipartStream.java:593)
org.apache.commons.fileupload.MultipartStream.discardBodyData(MultipartStream.java:617)
org.apache.commons.fileupload.MultipartStream.skipPreamble(MultipartStream.java:634)
org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:1023)
org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:1003)
org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:310)
org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:334)
org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:115)
org.apache.jsp.uploadFile_jsp._jspService(uploadFile_jsp.java:97)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)