首页 > 解决方案 > HTML 页面如何在 Eclipse 动态 Web 项目中找到 servlet?

问题描述

我在 Eclipse 中创建了一个带有 HTML 页面(在项目的 WebContent 文件夹中)的动态 Web 项目,该页面应该将一些输入数据从用户发送到 servlet(名称为“Tee”)。我尝试使用

形成方法="get" 动作="../../src/Tee"

它没有找到它。不,它不是状态 404 错误消息。但只是“页面无法显示”。

我试过这个:

表单方法="get" 动作="/Tee"

同样,也不起作用。

Tomcat服务器启动,项目部署在服务器上。如果我启动 servlet 本身,它会毫无问题地在服务器上运行(所有数据都设置为 null,因为这些数据应该来自 html 页面)。

是的,那里有类似的问题,但这些问题并没有给我真正的解决方案。

在此处输入图像描述

标签: javaeclipseservlets

解决方案


您需要编写一个 servlet 类,例如:

@WebServlet("/Tee")
public class Tee extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/plain");
        PrintWriter out = response.getWriter();
        out.write("Hello World!");
        //...
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //...
    }
}

编写完 servlet 后,在 Eclipse 中右键单击其名称,然后单击Run As > Run on server

如果它在 Eclipse 浏览器中成功运行,它将可以在您的 HTML 中使用其名称访问,例如

<form method="GET" action="Tee">
    <input type="submit">
</form>

更新

在您发布 servlet 代码后,我可以在那里看到一个问题。您已经编写method="GET"了 HTML 表单,但在 servlet 代码中,您只有doPost. 您应该doGet在 servletmethod="GET"中对 HTML 表单进行操作。添加方法,doGet除了doPost在 servlet 中。


推荐阅读