2014-04-07 58 views
1

我想在eclipse中執行一個servlet程序,但我得到一個HTTP狀態500錯誤。HTTP狀態500 - 錯誤實例化servlet類java.reg.pkg.Hello

請找我的目錄結構:

Practice_servlet | Java Resources | src | javs.reg.pkg | Hello.java

我的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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>Practice1_servlet</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
     <servlet-name>Hello1</servlet-name> 
    <servlet-class>java.reg.pkg.Hello</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>Hello1</servlet-name> 
    <url-pattern>/hello</url-pattern> 
    </servlet-mapping> 
</web-app> 

我hello.java程序是:

package java.reg.pkg; 

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

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

/** 
* Servlet implementation class Hello 
*/ 
public class Hello extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

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

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

} 

的問題可能是什麼你知道嗎?用於上述程序

堆棧跟蹤:

HTTP狀態500 - 錯誤實例servlet類java.reg.pkg.Hello


類型異常報告

消息錯誤實例servlet類的java .reg.pkg.Hello

說明服務器遇到內部錯誤,導致無法完成此請求。

例外

javax.servlet.ServletException:錯誤實例化servlet類 java.reg.pkg.Hello org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 組織.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter .java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:607) org.apache.tomcat.util.net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:313) java.util.concurrent.ThreadPoolExecutor .runWorker(來源不明) java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(來源不明) java.lang.Thread.run(來源不明)

根源

拋出java.lang.ClassNotFoundException: java.reg.pkg.Hello org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718) org.apache.catalina.loader.Weba ppClassLoader.loadClass(WebappClassLoader.java:1569) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 組織.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter。java:408) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:607) org.apache.tomcat.util .net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:313) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source) java.lang。 Thread.run(Unknown Source)

note注意Apache Tomcat/7.0.52日誌中提供了根本原因的完整堆棧跟蹤。


我使用的Apache Tomcat/7.0.52

+0

發佈堆棧跟蹤。 –

+0

編輯部分中的堆棧跟蹤 – user3090870

+0

如果我在Eclipse中複製並粘貼代碼,我得不到500 ... – Diferdin

回答

-2

我認爲那裏有一個錯誤的名字。您的servlet被稱爲Hello,並且位於java.reg.pkg中,而堆棧跟蹤表示指示在java.sample.pkg包中加載名爲SampleHello的servlet。該web.xml您提供

具有無痕後者的servlet,因此ClassNotFoundException錯誤...

+1

對不起,我昨天發佈了錯誤的堆棧跟蹤。請在上面找到正確的堆棧跟蹤。 – user3090870

0

嘗試清潔項目並運行。如果您使用的是eclipse Project - > Clean

相關問題