通过Servlet提交表单

时间:2011-03-07 02:15:38

标签: java forms servlets

有没有办法创建Servlet(页面显示 - 表单)并使用相同的类处理它?<​​/ p>

如果浏览器请求http://mypage.com/TestServlet - 则显示表单输入页面,当用户提交表单时,将调用相同的servlet操作(../TestServlet)并处理输入。我实际上将输入处理逻辑放在Servlet的doGet()方法中,现在当我调用http://mypage.com/TestServlet时,逻辑将被自动调用null值。我知道我实际上可以创建一个JSP或HTML页面,然后从那里调用Servlet,但我不想这样做。有没有办法调用Servlet的特定方法?就像在单击Submit按钮时调用该方法来处理用户输入并保持doGet()方法显示输入表单一样。

1 个答案:

答案 0 :(得分:6)

通常的做法是使用doGet()预处理表单,使用doPost()对表单进行后处理。您只需要确保使用<form method="post">。有关示例,请参阅我们的Servlet wiki page

但是,如果你真的需要一个GET表单(这样请求是可收藏的,比如搜索表单)那么你需要给提交按钮一个名称 - 值对并检查servlet是否作为请求参数出现。 E.g。

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

doGet()中的以下内容。

if (request.getParameter("search") != null) {
    // Form is submitted.
} else {
    // Form is not submitted.
}
相关问题