【问题标题】:Submit form through Servlet通过 Servlet 提交表单
【发布时间】:2011-03-07 02:15:38
【问题描述】:

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

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

【问题讨论】:

    标签: java forms servlets


    【解决方案1】:

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

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

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

    doGet() 中包含以下内容。

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

    【讨论】:

    • 非常感谢,将通过维基!
    猜你喜欢
    • 1970-01-01
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多