【问题标题】:HTTP Status 500 - Error instantiating servlet class com.DataFetchHTTP 状态 500 - 实例化 servlet 类 com.DataFetch 时出错
【发布时间】:2017-07-02 02:21:18
【问题描述】:

我的 web.xml 文件中有以下代码。我在 Tomct 服务器上运行我的项目。我面临以下错误:

输入异常报告消息 实例化 servlet 类 com.DataFetch 时出错 描述服务器遇到了一个内部错误,导致它无法完成这个请求。

exception

javax.servlet.ServletException: Error instantiating servlet class com.DataFetch
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)
root cause

java.lang.ClassNotFoundException: com.DataFetch
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)

还有我的 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" 
xmlns="http://java.sun.com/xml/ns/j2ee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <display-name>firstServletJsp</display-name>
  <servlet>
    <servlet-name>fetch</servlet-name>
    <servlet-class>com.DataFetch</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>fetch</servlet-name>
    <url-pattern>/sh</url-pattern>
  </servlet-mapping>

</web-app>

【问题讨论】:

  • 您的项目似乎没有正确构建并部署到 tomcat 中。你用什么来部署你的项目?
  • 我手动复制了我的应用程序文件夹并复制到 webapps 文件夹中。
  • 你能在你的问题上写下你的应用程序文件夹结构吗?
  • apache-tomcat-7.0.73\webapps\ReadJson\WEB-INF\classes\DataFetch.java
  • apache-tomcat-7.0.73\webapps\ReadJson\WEB-INF\web.xml

标签: java servlet-3.0


【解决方案1】:

将 web.xml 放入 WebContent>WEB-INF 文件夹并重建项目。和示例 web.xml 代码:-

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>SecureCloud</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>fetch</servlet-name>
    <servlet-class>com.DataFetch</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>fetch</servlet-name>
    <url-pattern>/sh</url-pattern>
</servlet-mapping>
</web-app>

【讨论】:

  • 这与他的问题无关,也没有任何区别。
猜你喜欢
  • 2017-08-02
  • 2017-03-08
  • 2017-02-20
  • 2019-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多