我们假设您有一个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)根据传入的内容显示值。
如上所述,我只是不确定如何开始。
任何帮助都会很棒,谢谢。
答案 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.setAttribute
和request.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.java-tips.org/other-api-tips/eclipse/how-to-make-war-file-in-eclipse.html