2013-08-30 67 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。