gpt4 book ai didi

tomcat - 在 TomCat 上运行 servlet

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

我需要在运行 tomcat 的服务器上运行我的 servlet。

我从 java 文件 (HelloWorld.java) 创建我的 HelloWorld servlet。

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException
{
response.setContentType( "text/html" );
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>Hello World</title></head>");
out.println("<body><h1>HELLO WORLD</h1></body>");
out.println("</html>");
out.close();
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
doGet( request, response );
}

然后我将它上传到服务器上并运行

javac HelloWorld.java

此命令创建 HelloWorld.class 文件,我将其放入 WEB-INF/classes 文件夹

然后我将一些代码添加到 WEB-INF 目录中的 web.xml 文件中,所以它看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>My first Servlet</display-name>
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/HW</url-pattern>
</servlet-mapping>
</web-app>

比我运行一个命令

touch ~WEB-INF/web.xml

现在我尝试通过输入类似 ~\HW 的 URL 来访问我的 HelloWorld servlet。

但是我得到一个错误:

type Status report

message /group05/HW

description The requested resource (/group05/HW) is not available.

您建议如何修复它?

感谢您考虑我的问题。

最佳答案

在这种特殊情况下有 2 个潜在原因:

  1. Tomcat 未配置为在 web.xml 编辑后进行热部署。您需要手动重启 Tomcat。

  2. 特定的 Tomcat 设置不支持默认包中的 servlet 类。如果该类打算由本身位于包内的其他类(例如 Tomcat 内部类)使用,则您应该始终将该类放入包中。

另见:


与具体问题无关,我知道您刚刚开始使用 servlet,但我要指出这不是使用 servlet 的“最佳实践”。我建议看看our servlets wiki page获取一些具体示例,了解规范方法并找到正确教程的链接。

关于tomcat - 在 TomCat 上运行 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8377716/

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