1

我是jsp的新手。当我在 netbeans 中运行 jsp 文件并提交 http 404 错误时。

这是我使用的来自标头,

 <form method="POST" action="/test.java">

我在 netbeans 中的文件层次结构是,

Test

   Web Pages

      index.jsp

   Source Packages

      <default package>

      test.java

我提供给该操作的链接是正确的还是错误的?

我正在使用 jdk 7

4

3 回答 3

3

不,你的做法是错误的。我猜您想将此表单提交给 Servlet(test.java)。

首先,您必须通过扩展 HttpServlet 类并实现所需的方法(doGet()和/或doPost()...)。更多信息在这里

然后你必须在 web.xml 中映射这个 Servlet。

<servlet>
    <servlet-name>Test</servlet-name>
    <servlet-class>test.java</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Test</servlet-name>
    <url-pattern>/Test</url-pattern>
</servlet-mapping>

然后将表单提交url-pattern给上面分配的 servlet。在此示例中,您的表单应如下所示:

<form method="POST" action="/Test">

注意:您可以使用 IDE 的 servlet 向导自动执行此功能,但最好还是了解内部工作原理。

您还可以查看https://stackoverflow.com/tags/servlets/info以了解 servlet 是如何工作的

于 2013-08-30T11:10:47.473 回答
1

在 NetBeans 中,当您右键单击创建新的 Servlet 时,向导开始,在要求您输入“类名”、“Servlet 名称”和“URL 模式”的窗口中,留下类名,但更改 Servlet 名称(因此 URL 模式将是带有斜线的 Servlet 名称)。现在您所要做的就是使用 Servlet 名称(我们更改的名称)而不是类名称来调用您的 servlet,并且不要使用斜杠!示例:向导开始,您将 servlet 命名为 AAA,在下一个窗口中您留下“类名”AAA,但“Servlet 名称”为 BBB,“URL Pattern(s)”/BBB,现在您可以调用您的 servlet 使用名称 BBB,而不是 AAA,而不是 /BBB。

于 2014-02-11T20:37:27.530 回答
0

此错误也可能是由于使用了不适当的 jdk。或者 netbeans 使用不适当的 jdk 位置。即低级 jdk。解决方案可以卸载 netbeans 然后重新安装,同时安装程序提供准确的 jdk(1.8 等)路径。

于 2020-10-07T16:01:43.073 回答