通过Servlet提交表单

img*_*gr8 2 java forms servlets

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

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

Bal*_*usC 6

通常的做法是使用doGet()预处理表单和doPost()后处理表单.您只需要确保使用<form method="post">.有关示例,请参阅我们的Servlet Wiki页面.

但是,如果您确实需要GET表单(以便请求是可收藏的,如搜索表单),那么您需要为提交按钮提供一个名称 - 值对,并检查servlet是否作为请求参数存在.例如

<input type="submit" name="search" value="Search" />
Run Code Online (Sandbox Code Playgroud)

以下是doGet().

if (request.getParameter("search") != null) {
    // Form is submitted.
} else {
    // Form is not submitted.
}
Run Code Online (Sandbox Code Playgroud)