gpt4 book ai didi

java - 用于 servlet 的 Tomcat 配置

转载 作者:行者123 更新时间:2023-11-30 07:39:05 25 4
gpt4 key购买 nike

我已经安装了 Tomcat,并且一直在测试它:我写了一些 .html 和 .jsp 文件,然后在服务器上尝试。它们似乎一起正常工作。例如:我正在尝试的这些文件允许我将文件上传到服务器并将其名称写入数据库(MySQL)。完成此操作后,我有一个按钮可以让我上传另一个文件,或者我可以查询存储在数据库中的文件的名称。

当我需要运行一个 servlet 时,我的问题就来了。我正在尝试一个基本的:

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

public class HelloWorldServlet extends HttpServlet {

public void init(ServletConfig conf)
throws ServletException
{
super.init(conf);
}
public void service(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
PrintWriter out = res.getWriter();

out.println("<html>");
out.println("<body>");
out.println("<h1>Hello World</h1;>");
out.println("</body>");
out.println("</html>");
}
}

从那里我得到一个 .class 文件。我把这个文件放在:webapps/HelloWord/web-inf/classes

我真的不知道如何修改 web.xml 文件以及如何从 .html 或 .jsp 页面调用此 servlet。

最佳答案

首先,您的 web-inf 目录必须是大写的 (WEB-INF)。

基本的 web.xml 如下所示:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
<servlet>
<!--
This is arbitrary name for your servlet,
used in servlet-mapping below
-->
<servlet-name>HelloWorld</servlet-name>

<!-- Name of your servlet class -->
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>

<!--
Here you say location (under context) where your servlet
can receive requests.
-->
<url-pattern>/hello-world</url-pattern>
</servlet-mapping>
</web-app>

您的 web.xml 必须保存在 <your-app>/WEB-INF/web.xml 中路径。

现在只要浏览器访问http://localhost/HelloWorld/hello-world在您的服务器上,我们调用您的 servlet,因为它映射到 /hello-world ,并且因为您的应用程序部署在 HelloWorld 中目录(因此映射到/HelloWorld 上下文)。

关于java - 用于 servlet 的 Tomcat 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1114341/

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