有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java HTTP Status 500实例化servlet类示例时出错。网络应用

我创建了一个简单的servlet并将其部署到tomcat服务器上,但出现了以下错误:HTTP Status 500 - Error instantiating servlet class example.webApp 截图:

enter image description here

网络应用。爪哇:

package example;

import java.io.IOException;
import java.util.Date;

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

public class webApp extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
            throws ServletException, IOException {
        resp.getWriter().println("Testing tomcat") ;
    }
}

网络。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">
  <servlet> 
    <servlet-name>Test</servlet-name>
    <servlet-class>example.webApp</servlet-class>
  </servlet>
  <servlet-mapping> 
    <servlet-name>Test</servlet-name>
    <url-pattern>/test</url-pattern>
  </servlet-mapping>

  <display-name>test</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>
</web-app>

当我将localhost:8080/test/test写入Eclipse浏览器时,我会在上面看到。如果我再次输入localhost:8080/test/test,我会得到以下错误:http://i.hizliresim.com/YBYE4z.png

我很困惑。你能帮助我吗?怎么了? 很抱歉提供图片链接,因为我无法直接更新到此网站

第一张图片的文字是:

类型异常报告

实例化servlet类示例时出错。网络应用

说明服务器遇到内部错误,无法满足此请求

例外情况

javax.servlet.ServletException: Error instantiating servlet class example.webApp
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
    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: example.webApp
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1313)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1164)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
    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)

注意Apache Tomcat/8.0.24日志中提供了根本原因的完整堆栈跟踪


共 (3) 个答案

  1. # 1 楼答案

    我觉得你应该在网上写。xml <servlet-class>example.webApp.Test</servlet-class>而不是<servlet-class>example.webApp</servlet-class>

  2. # 2 楼答案

    尝试清理项目并运行。 如果您使用的是eclipseProject->;干净

    对于NetBeans,请尝试运行->;清洁和建设项目

  3. # 3 楼答案

    有时,在创建servlet时,类文件可能不会在build文件夹中生成。我们应该先清理项目,然后再建造。这对我很管用。 http://i.hizliresim.com/OqYz0n.png