java - HTML 500 Tomcat Java

标签 java tomcat

我正在尝试学习如何使用 tomcat 进行 Java Web 应用程序 我有一个良好的开端,但是当我尝试加载我的 servlet 类时,出现 500 错误

我的 newPlayer.java 文件:

    package servlet;
    import java.io.IOException;
    import java.io.PrintWriter;


    /**
     * Created by kbuczynski on 24/01/17.
     */

    public class newPlayer extends javax.servlet.http.HttpServlet {

        protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        }

        protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.print("<h1>HI</h1>");
            out.flush();
        }
}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <display-name>WeBJ</display-name>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>newPlayer</servlet-name>
        <servlet-class>servlet.newPlayer</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>newPlayer</servlet-name>
        <url-pattern>/newPlayer</url-pattern>
    </servlet-mapping>
</web-app>

错误:

exception

javax.servlet.ServletException: Error instantiating servlet class servlet.newPlayer
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:495)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:767)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1347)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)
root cause

java.lang.ClassNotFoundException: servlet.newPlayer
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1109)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:495)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:767)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1347)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)

文件结构

CLICK

我总是很乐意接受任何建议,所以请随意这样做。

最佳答案

一个好的项目结构可能是maven所遵循的:project-structure . 我的 github 上有一个使用 maven 作为构建工具的小 servlet 项目:simple-servlet .

关于java - HTML 500 Tomcat Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41832176/

相关文章:

java - java中对象作用域方法的静态实现

java - Spring Security - 从 Tomcat 6 部署到 Tomcat 7 时凭据错误

java - 没有 Maven 的 Spring MyBatis

java - 在 Eclipse 中设置开发的 Java 项目

java - 使用向后兼容的编码器更改编码器以进行转换

java - 如何找出多边形的边数、面数、顶点数

java - 渲染 Play Framework 2 View

java - Swing:滚动到 JScrollPane 的底部,以当前视口(viewport)位置为条件

Tomcat 热部署与 maven war 插件

tomcat - 重新配置/配置 Tomcat 日志记录?