2014-10-09 374 views
-2

我在eclipse中創建了一個Web項目,並且爲了在Tomcat服務器中運行項目,我以.war格式導出了該文件。我有一臺獨立的計算機來運行該項目,所以我可以使用它從不同的計算機,因爲它有一個靜態的IP。HTTP狀態500 - 實例化Servlet類時出錯

我現在的錯誤是:

HTTP狀態500 - 錯誤實例化servlet類com.complexible.common.csv.DisplayRecord

我加入我的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>Museumnew</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>/axis2-web/index.jsp</welcome-file> 
    </welcome-file-list> 
- <servlet> 
    <description /> 
    <display-name>DisplayRecord</display-name> 
    <servlet-name>DisplayRecord</servlet-name> 
    <servlet-class>com.complexible.common.csv.DisplayRecord</servlet-class> 
    </servlet> 
- <servlet-mapping> 
    <servlet-name>DisplayRecord</servlet-name> 
    <url-pattern>/DisplayRecord</url-pattern> 
    </servlet-mapping> 
- <servlet> 
    <display-name>Apache-Axis Servlet</display-name> 
    <servlet-name>AxisServlet</servlet-name> 
    <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> 
    </servlet> 
- <servlet-mapping> 
    <servlet-name>AxisServlet</servlet-name> 
    <url-pattern>/servlet/AxisServlet</url-pattern> 
    </servlet-mapping> 
- <servlet-mapping> 
    <servlet-name>AxisServlet</servlet-name> 
    <url-pattern>*.jws</url-pattern> 
    </servlet-mapping> 
- <servlet-mapping> 
    <servlet-name>AxisServlet</servlet-name> 
    <url-pattern>/services/*</url-pattern> 
    </servlet-mapping> 
- <servlet> 
    <display-name>Axis Admin Servlet</display-name> 
    <servlet-name>AdminServlet</servlet-name> 
    <servlet-class>org.apache.axis.transport.http.AdminServlet</servlet-class> 
    <load-on-startup>100</load-on-startup> 
    </servlet> 
- <servlet-mapping> 
    <servlet-name>AdminServlet</servlet-name> 
    <url-pattern>/servlet/AdminServlet</url-pattern> 
    </servlet-mapping> 
- <servlet> 
    <display-name>Apache-Axis Admin Servlet Web Admin</display-name> 
    <servlet-name>AxisAdminServlet</servlet-name> 
    <servlet-class>org.apache.axis2.transport.http.AxisAdminServlet</servlet-class> 
    <load-on-startup>100</load-on-startup> 
    </servlet> 
- <servlet-mapping> 
    <servlet-name>AxisAdminServlet</servlet-name> 
    <url-pattern>/axis2-admin/*</url-pattern> 
    </servlet-mapping> 
    </web-app> 

這裏是一個servlet代碼。

package com.complexible.common.csv; 

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; 

import org.json.JSONException; 
import org.json.simple.parser.ParseException; 

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

    /** 
    * @throws IOException 
    * @throws ParseException 
    * @throws JSONException 
    * @see HttpServlet#HttpServlet() 
    */ 
    public DisplayRecord() throws IOException, JSONException, ParseException { 
     super(); 

     String getrec=GetRecord.getrec("http://phdprototype.tk/collectionimage/4D0BFF17-5810-4644-A550-D35EE090D4A8.png","3","0"); 
     System.out.println(getrec); 
     // 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.print("hesadlo"); 

       String abc=""; 

       try { 
        abc = GetRecord.getrec("http://phdprototype.tk/collectionimage/4D0BFF17-5810-4644-A550-D35EE090D4A8.png","3","0"); 
       } catch (JSONException | ParseException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
       out.print(abc); 
     // TODO Auto-generated method stub 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
    */ 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     // TODO Auto-generated method stub 
    } 

} 
+1

向我們顯示您的servlet代碼。 – 2014-10-09 08:50:13

+1

看看你的服務器日誌文件發生了什麼。 – Jens 2014-10-09 08:55:21

+1

...加上從服務器日誌中顯示異常的錯誤消息... – 2014-10-09 08:57:10

回答

-2

感謝您的答覆,當我檢查日誌文件,我才知道該文件的一個路徑是錯誤的,我固定的。現在它工作正常。

+0

其中是生成的日誌文件? – TheLuminor 2015-09-03 13:02:11

-1

我認爲這個錯誤是因爲你不是而使你的servlet類成爲公衆。您的servlet類的對象應該對容器可見,因爲容器會爲您的servlet類創建對象。

+0

這應該是一個評論而不是答案。 – bhspencer 2016-04-04 01:59:22

相關問題