2013-08-06 202 views
2

我一個簡單的上傳JSP和Servlet工作教程這裏概述:異常:拋出java.lang.ClassNotFoundException:javax.servlet.http.HttpServletRequest運行時的Servlet

Upload Tutorial

我已經系統編碼和我的網頁已完成,但運行應用程序時出現錯誤。當我點擊上傳按鈕,如:

SEVERE: Servlet.service() for servlet [UploadServlet] in context with path [/Test] threw exception [Servlet execution threw an exception] with root cause 
java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at org.apache.commons.fileupload.servlet.ServletFileUpload.isMultipartContent(ServletFileUpload.java:68) 
    at com.dell.UploadServlet.doPost(UploadServlet.java:45) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:724) 

我被導演也將tomcat頁面看起來如下:

Error Picture

任何人都知道我做了什麼錯?由於

回答

3

你忘了/未接添加apache common fileuploadjar

at org.apache.commons.fileupload.servlet.ServletFileUpload. 
        isMultipartContent(ServletFileUpload.java:68) 

檢查lib/maven jar結構。

+0

嗨,我將它添加到該項目的構建路徑和服務器啓動配置類路徑的服務器,我仍然收到錯誤 – MattTheHack

+0

@MattMcGrath您檢查它是否在'lib'文件夾? –

+0

它不在lib中,而是在類路徑中,我應該將它添加到WEB-INF/lib文件夾中嗎? – MattTheHack

0

我有一個類似的異常 - 不同的情況,但在我的情況下,servlet-api.jar顯然應該是$CATALINA_HOME/lib/,但是我安裝了針對不同servlet-api.jar編譯的jar,併產生了此異常:

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

速戰速決是使用servlet-api.jar文件Servlet的最初編譯,但在生產,我建議重新編譯你的servlet而不是替換Tomcat的核心罐子。

相關問題