使用Java Servlet作为HTML表单的响应页面?

时间:2014-05-26 16:13:50

标签: java html servlets

我们假设您有一个HTML在线表格,您需要注册才能投票:

<html>

<head>
</head>

<body>

<form>
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname"><br>
Address: <input type="text" name="address"><br>
City: <input type="text" name="city"><br>
State: <input type="text" name="state"><br>
Zip: <input type="text" name="zip"><br>
Phone Number: <input type="text" name="phone"><br>

Affiliation:<br>
<input type="radio" name="affil" value="demo">Democrat<br>
<input type="radio" name="affil" value="green">Green Party<br>
<input type="radio" name="affil" value="liber">Liberterian<br>
<input type="radio" name="affil" value="repub">Republican<br>
<input type="radio" name="affil" value="None">Unafiiliated<br>

<input type="submit" value="Submit">

</form>

</body>
</html>

我想点击提交一个响应页面,向用户显示他们发布的内容摘要

示例:

名字:[价值]

姓氏:[价值] 等

我想使用Java Servlet来做到这一点。然而,在我没有使用Servlet的任何经验之前,我已经用Java编程,而且我对如何开始感到困惑。

所以我认为我必须做的主要任务是

1.创建一个Java文件。

2.使用HTTPApplets?

3.使HTML以某种方式引用Java文件。

4.让Java(Servlet)根据传入的内容显示值。

如上所述,我只是不确定如何开始。

任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:1)

将servlet视为应用程序的入口点(这是服务器编程,因此不涉及applet)。

假设您的表单是通过POST提交的,因此您的servlet的入口点如下所示:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

在这里,您可以通过request对象检查用户填写到表单中的每个参数。例如:

String address = request.getParameter("address");

执行您需要的任何业务逻辑,然后发回您的答案。你有一些选择:

您可以直接将HTML写入response.getOutputStream()方法,但我们通常不希望这样。

或者您可以将答案转发给JSP。这是一个采用HTML模板形状的特殊servlet。通过致电request.getRequestDispatcher("/my_page.jsp").forward(request, response)来做到这一点。这将使您的应用程序服务器开始执行您的JSP。将业务逻辑结果交给JSP进行表示的一种方法是使用request.setAttributerequest.getAttribute方法(因为您的servlet和您的jsp共享request对象)。例如:

的Servlet

request.setAttribute("calculation_result", new Float(324324.45f));

JSP

<div class="myCSSclass">The result is <%= request.getAttribute("calculation_result") %></div>

在这里,您可以找到有关编写JSP和打包Web应用程序的一些信息:

http://www.jsptut.com/

http://www.java-tips.org/other-api-tips/eclipse/how-to-make-war-file-in-eclipse.html