gpt4 book ai didi

java - 在 Tomcat 8.0.30 上部署 Servlet

转载 作者:行者123 更新时间:2023-11-28 23:27:29 27 4
gpt4 key购买 nike

我正在尝试将已编译的 Servlet 类部署到 Apache Tomcat 服务器 8.0.30 上。

但我得到以下异常:

javax.servlet.ServletException: Error instantiating servlet class HelloWorld

java.lang.ClassNotFoundException: HelloWorld

我的 tomcat webapps/ROOT/ 文件夹不包含类文件夹,所以我创建了一个并将 HelloWorld.class 复制到其中。我在 web.xml 中添加了以下行:

<?xml version="1.0" encoding="ISO-8859-1"?>
<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"
metadata-complete="true">

<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>

谁能告诉我我做错了什么?

@wero:这是我的 HelloWorld.java 的内容:

// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
public class HelloWorld extends HttpServlet {

private String message;

public void init() throws ServletException
{
// Do required initialization
message = "Hello World";
}

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// Set response content type
response.setContentType("text/html");

// Actual logic goes here.
PrintWriter out = response.getWriter();
out.println("<h1>" + message + "</h1>");
}

public void destroy()
{
// do nothing.
}
}

最佳答案

您需要将文件放到正确的位置。 Java类文件需要放在WEB-INF/classes中:

webapps/ROOT/WEB-INF/web.xml
webapps/ROOT/WEB-INF/classes/HelloWorld.class

然后启动Tomcat,查看Tomcat日志是否有错误。

关于java - 在 Tomcat 8.0.30 上部署 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35112994/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com