2014-01-09 62 views
0

我想做一個簡單的Servlet Code。初期它用於正常工作,但現在出現問題。好心幫 的index.html:Servlets:java.lang.ClassNotFoundException:歡迎

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
<form action="welcome"> 
<input type="submit" value="go"/></form> 

</body> 
</html> 


web.xml: 


<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>9-01-2014</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <servlet-name>Welcome</servlet-name> 
    <servlet-class>Welcome</servlet-class> 
    </servlet> 
    <servlet-mapping> 

    <servlet-name>Welcome</servlet-name> 
    <url-pattern>/welcome</url-pattern> 
    </servlet-mapping> 
</web-app> 

Welcom.java:

import java.io.IOException; 
import java.io.PrintWriter; 

import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

/** 
* Servlet implementation class Welcome 
*/ 
@WebServlet("/Welcome") 
public class Welcome extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    /** 
    * @see HttpServlet#HttpServlet() 
    */ 
    public Welcome() { 
     super(); 
     // TODO Auto-generated constructor stub 
    } 

    /** 
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
     PrintWriter out = response.getWriter(); 
     out.println("Welcome"); 
    } 



} 

錯誤報告:

Jan 09, 2014 2:41:27 PM org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files (x86)\Java\jre7\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/server;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/amd64;C:\Program Files\Java\jre7\bin;C:\Program Files (x86)\MySQL\MySQL Utilities 1.3.4\;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;D:\eclipse-jee-indigo-SR2-win32-x86_64\eclipse;;. 
Jan 09, 2014 2:41:28 PM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:9-01-2014' did not find a matching property. 
Jan 09, 2014 2:41:28 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
Jan 09, 2014 2:41:28 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
Jan 09, 2014 2:41:28 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 2179 ms 
Jan 09, 2014 2:41:29 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Jan 09, 2014 2:41:29 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.42 
Jan 09, 2014 2:41:30 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-bio-8080"] 
Jan 09, 2014 2:41:30 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
Jan 09, 2014 2:41:30 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 1191 ms 
Jan 09, 2014 2:41:34 PM org.apache.catalina.core.ApplicationContext log 
INFO: Marking servlet Welcome as unavailable 
Jan 09, 2014 2:41:34 PM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Allocate exception for servlet Welcome 
java.lang.ClassNotFoundException: Welcome 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527) 
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509) 
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144) 
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) 
    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:312) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 

我已經加入servlet的API JAR文件。 但仍然無法工作。

+0

是在defualt包你的歡迎班組長給予。 –

+0

是的,我沒有使用任何軟件包。 – user3176775

+0

@ user3176775你是從eclipse運行這個還是手動部署一個war文件? –

回答

0

這是更好地把這個類爲一些軟件包,然後在Servlet-classcom.somePackage.Welcome

+0

它更好,但是爲什麼OP遇到問題? –

+0

@KevinBowersox,我在學習servlets的時候遇到了這樣的問題。也許我不記得完美,但這可能是問題。 –

+0

@Prasad無包servlet也可以完美運行。 –