2013-08-30 65 views
1

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

这是从头部,我用,

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

我在NetBeans文件层次结构是,

Test 

    Web Pages 

     index.jsp 

    Source Packages 

     <default package> 

     test.java 

,我给了行动的联系是正确的还是错误的?

我正在使用jdk 7

回答

2

不,你在做什么是错误的。我想你想把这个表单提交给一个Servlet(test.java)。

首先,你必须确保test.java(顺便说一下,这不是一个适当的约定,在Java中的类名,它应该以大写字母开头)实际上是一个servlet通过扩展HttpServlet类,并实现所需方法(doGet()和/或doPost() ...)。更多信息Here

然后你必须在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> 

然后提交表单上述分配了Servlet的url-pattern。在这个例子中你的形式应该是这样的:

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

注意:您可以使用IDE的Servlet向导自动执行此功能,但它总是更好地认识事物内部还怎么工作。

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

+0

ty .............. –

1

在NetBeans中,当你右键点击创建一个新的Servlet,向导开始,在那里你将被要求输入“类名”窗口“ Servlet名称“和”URL模式“,留下类名称,但更改Servlet名称(因此URL模式将成为带斜线的Servlet名称)。现在,您只需使用Servlet名称(我们更改的那个)调用您的servlet,而不是Class名称,并且不要使用斜杠!例如:向导开始,您将您的servlet AAA命名为AAA,在下一个窗口中您保留“Class name”AAA,但“Servlet name”为BBB,以及“URL Pattern(s)”/ BBB,现在您可以调用您的servlet使用名称BBB,而不是AAA,而不是/ BBB。