java.lang.NoClassDefFoundError:javax / servlet / http / HttpServletRequest

我收到以下错误:

06/08/2011 02:56:33 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet UploadTheme threw exception java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest at org.apache.commons.fileupload.servlet.ServletRequestContext.getContentType(ServletRequestContext.java:73) at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.(FileUploadBase.java:905) at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331) at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:351) at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126) at cs236369.hw5.servlets.xml.UploadTheme.doPost(UploadTheme.java:47) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source) 

我把JARS放在WEB-INF/lib 。 这是项目类路径的样子: 项目设置

这是运行配置: 在此处输入图像描述

添加FileUpload后麻烦开始了。
知道什么是错的吗?

您不需要在服务器的运行配置中使用commons-upload jar文件。 我怀疑这就是造成这个问题的原因,因为在加载文件上传类的类加载器和尝试加载servlet特定类的类加载器之间存在类问题的可见性。

您应该摆脱它并将其作为WEB-INF / lib的一部分。 希望能解决您的问题。

在我看来, j2ee.jar / javaee.jar不在你的类路径上。 您需要下载它并将其放在$CATALINA_HOME/lib目录中。