目录
关键步骤如下。
- 正确使用表单提交数据。
- 使用request 对象读取表单数据。
- 解决数据显示时的中乱码问题。
- 使用转发或者重定向实现页面的跳转。
1.3.1 HTML 表单与request 内置对象
1.表单回顾
在HTML 中,表单用于填写数据,并通过提交实现数据的请求。在这里,我们再
简单回顾一下表单的结构。提交表单时有两种常见方式,分别是 POST 方式和 GET 方式,
这两种提交方式的区别如表 1-4 所示。
比较 | POST | GET |
---|---|---|
是否在 URL 中显示参数 | 否 | 是 |
数据传递是否有长度限制 | 无 | 有 |
数据安全性 | 高 | 低 |
URL 是否可以传播 | 否 | 是 |
方法 | 说明 |
getParameter(String name) | 返回指定名称参数的值,返回值类型为 String 类型,若无对应名称的参数,返回 NULL |
getParameterValues(String name) | 返回一组具有相同名称的值,返回类型为 String 类型的数组 |
2.request 对象
在之前章节中介绍了使用 out 对象实现页面输出,同样 request 对象也是 JSP 的一
个内置对象,所以在 JSP 中可以直接使用。 在 request 对象中保存了用户的数据,
通过调用相关方法就可以实现请求数据的读取。request 对象获取表单数据的常用方法
如表 1-5 所示。
示例3
获取用户在注册页面中输入的数据,并在 JSP 中显示。
实现步骤如下。
(1)创建用户注册输入页面。
(2)提交表单到 JSP 。
(3) 使用 request 对象获取表单数据。
关键代码如下:
注册页面关键代码:
<form neme = "dataForm" id ="dataForm" action = "doUserCreate.jsp" nethod = "post">
<table class = "tb" boder = "0" cellspacing = "5" cellpadding = "0" align = "center">
<tr>
<td align = "center" colspan = "2" style = "text-align:center," class =
"text_tabledetail2"> 用户注册
</td>
</tr>
<tr>
<td class = "text_tabledetail2">用户名</td>
<td><input type = "test" name = "username" value = ""></td>
</tr>
<tr>
<td class = "text_tabledetail2">密码</td>
<td><input type = "password" name = "password" value = ""></td>
</tr>
<tr>
<td style = "text_align:center;" colspan="2">用户名
<button type = "submit" class = "page-btn" name = "save" >注册</tutton>