JSP程序设计案例教程《Java Web程序设计》_项目库_单元案例_Servlet典型应用教学案例
Unit14- Servlet典型应用
课堂案例1—应用Servlet读取所有HTML表单数据
案例学习目标:学习Servlet读取指定所有HTML表单数据的基本方法。
案例知识要点:使用HttpServletResponse的getParameterNames方法获取所有表单数据,使用Enumeration对象保存所有表单数据,对保存所有表单数据的Enumeration对象遍历后以表格形式输出。
案例完成步骤:
1.打开webapps文件夹中保存第7章程序文件的文件夹chap07。
2.编写用户登录的HTML文件register.htm(详见chap07\register.htm.htm)。
3.编写读取register.htm表单中所有数据的Servlet文件RegisterServlet.java。
【程序代码】RegisterServlet.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46package myservlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.*;
public class RegisterServlet extends HttpServlet
{
public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
{
res.setContentType("text/html");
PrintWriter out=res.getWriter();
out.println("");
out.println("
Read all Parameters");out.println("
\n");out.println("
All Parameters From Request
");out.println("
out.println("
\n");out.println("
Parameter NameParameter Value");Enumeration enuNames=req.getParameterNames();
while(enuNames.hasMoreElements())
{
String strParam=(String)enuNames.nextElement();
out.println("
"+strParam+"\n");String[] paramValues=req.getParameterValues(strParam);
if (paramValues.length==1)
{
String paramValue=paramValues[0];
if (paramValues.length==0)
out.print("Empty");
else
out.print(paramValue);
}
else
{
out.println("
- ");
for (int i=0;i
{
out.println("
"+paramValues[i]);}
out.println("
");}
}
out.println("
\n");}
}【程序说明】
第2行—第6行:引入相关包;
第9行—第45行:重载doPost方法;
第20行:应用req.getParameterNames()方法构造参数枚举对象enuNames;
第21行—第42行:通过while循环输出所有参数名(enuNames对象的值)和参数值;
第23行:应用enuNames.nextElement(