gpt4 book ai didi

java - 将一个简单的 hello world servlet 编译成 .war for tomcat

转载 作者:搜寻专家 更新时间:2023-11-01 02:31:40 25 4
gpt4 key购买 nike

我正在做一些简单的基准测试,我想创建一个显示 hello world 的简单 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 pw = response.getWriter();
pw.println("<html>");
pw.println("<head><title>Hello World</title></title>");
pw.println("<body>");
pw.println("<h1>Hello World</h1>");
pw.println("</body></html>");
}
}

现在我安装的是默认安装的tomcat,在文件夹中:

.../libexec/webapps/ROOT

我想我必须删除一个 war 文件,是否可以仅使用命令行将上述 java 类编译成一个 .war 文件而不使用编辑器?

最佳答案

war 文件只是一个 zip 文件,因此通过适当的目录结构和 web.xml,您可以使用命令行工具创建一个。

web.xml 应该至少包含一种将您的 URL 定向到您的 servlet 的方法。

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http:/java.sun.com/dtd/web-app_2_3.dtd">
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>

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

这个 web.xml 应该在你的 war 中名为 WEB-INF 的文件夹中,编译后的 java 类文件应该在 WEB-INF/classes 中。

war 文件应该放在 webapps 目录中,而不是 ROOT 目录中。

Tomcat 将找到您的 war 文件并解压缩。

如果它被命名为“hello.war”,默认上下文名称将是“hello”,并在 http://yourhost/hello/ 访问

关于java - 将一个简单的 hello world servlet 编译成 .war for tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7924687/

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