java - HTML 页面如何在 Eclipse 动态 Web 项目中找到 servlet?
问题描述
我在 Eclipse 中创建了一个带有 HTML 页面(在项目的 WebContent 文件夹中)的动态 Web 项目,该页面应该将一些输入数据从用户发送到 servlet(名称为“Tee”)。我尝试使用
形成方法="get" 动作="../../src/Tee"
它没有找到它。不,它不是状态 404 错误消息。但只是“页面无法显示”。
我试过这个:
表单方法="get" 动作="/Tee"
同样,也不起作用。
Tomcat服务器启动,项目部署在服务器上。如果我启动 servlet 本身,它会毫无问题地在服务器上运行(所有数据都设置为 null,因为这些数据应该来自 html 页面)。
是的,那里有类似的问题,但这些问题并没有给我真正的解决方案。
解决方案
您需要编写一个 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 中。
推荐阅读
- css - 带有 :before 和 z-index 的边界半径之外的 CSS 背景
- javascript - 将xml返回到textarea php
- android-emulator - 启用 Hyper V 的系统上的 Windows Hypervisor 平台上的 Android 模拟器错误
- javascript - React js路由器更改url但不加载页面
- java - 测试 Lombok 生成的数据结构
- r - R中用老鼠进行插补的内存使用情况
- python - 尽管已安装 Pyaudio 模块但未找到
- python - Sum numbers in multidimentional array in Python with recursion
- html - BS3 - 带有另一个可折叠导航栏的可折叠导航栏
- python - 数组 2 的索引过多