eclipse HTTP 状态 500 - 实例化 servlet 类时出错

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/26274132/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 22:04:15  来源:igfitidea点击:

HTTP Status 500 - Error instantiating servlet class

javaeclipsetomcatservletsjena

提问by Ravi Vyas

I have created a web project in eclipse and in order to run the project in Tomcat server i had exported the file in .war format. I have kept a separate computer to run the project, so i could use it from different computers as it has a static IP.

我在 eclipse 中创建了一个 web 项目,为了在 Tomcat 服务器中运行该项目,我以 .war 格式导出了文件。我保留了一台单独的计算机来运行该项目,因此我可以在不同的计算机上使用它,因为它具有静态 IP。

My current error is:

我目前的错误是:

HTTP Status 500 - Error instantiating servlet class com.complexible.common.csv.DisplayRecord

HTTP 状态 500 - 实例化 servlet 类 com.complexible.common.csv.DisplayRecord 时出错

I am adding my web.xml file. Please provide me the possible solutions.

我正在添加我的 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>

Here is a servlet code.

这是一个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
    }

}

回答by Pulipati Prasadarao

I think this error your getting because you are not made your servlet class as public. The object of your servlet class should be visible to the container because container creating object for your servlet class.

我认为这个错误是因为您没有将 servlet 类设为 public。您的 servlet 类的对象应该对容器可见,因为容器为您的 servlet 类创建对象。

回答by Ravi Vyas

Thank you for the replies, when i checked a log file, i got to know that the path of one of the file was wrong and i fixed that. Now it is working properly.

谢谢你的回复,当我检查一个日志文件时,我知道其中一个文件的路径是错误的,我解决了这个问题。现在它工作正常。