2011-03-07 119 views
2

有沒有辦法創建Servlet(頁面顯示 - 表單)並使用相同的類來處理它?通過Servlet提交表單

如果瀏覽器請求http://mypage.com/TestServlet - 則顯示錶單輸入頁面,當用戶提交表單時,調用相同的servlet操作(../TestServlet)並處理輸入。實際上,我將輸入處理邏輯放在Servlet的doGet()方法中,現在當我撥打http://mypage.com/TestServlet時,邏輯會自動使用空值進行調用。我知道我實際上可以創建一個JSP或HTML頁面,然後從那裏調用Servlet,但我不想。有沒有辦法調用Servlet的特定方法?像調用該方法來處理用戶輸入時點擊提交按鈕,並保持doGet()方法顯示輸入表單。

回答

6

通常的做法是使用doGet()來預處理表格和doPost()來對錶格進行後處理。您只需確保您使用<form method="post">。有關示例,請參閱我們的Servlet wiki page。然而,如果你確實需要一個GET表單(這樣請求就像書籤一樣,就像搜索表單一樣),那麼你需要爲submit按鈕提供一個名稱 - 值對,並檢查servlet是否作爲請求存在參數。例如。

<input type="submit" name="search" value="Search" /> 

以下在doGet()

if (request.getParameter("search") != null) { 
    // Form is submitted. 
} else { 
    // Form is not submitted. 
} 
+0

非常感謝,會經過維基! – imgr8 2011-03-07 02:21:02