2011-03-07 124 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