《Servlet和JSP学习指南》一1.10 处理HTML表单

简介: 本节书摘来自华章出版社《Servlet和JSP学习指南》一书中的第1章,第1.10节,作者(加)Budi Kurniawan,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.10 处理HTML表单

每个Web应用程序中几乎都会包含一个或者多个HTML表单,用来接收用户输入。你可以轻松地将一个HTML表单从Servlet发送到浏览器。当用户提交表单时,在表单元素中输入的值会被当作请求参数发送到服务器。
HTML输入域(文本域、隐藏域或密码域)或者文本域的值被当作一个字符串发送到服务器。对于空白的输入域或者文本域将发送一条空白的字符串。因此,带有一个输入域名称的ServletRequest.getParameter将永远不会返回null。
HTML的select元素还会给标头发送一个字符串。如果没有选择select元素中的任何选项,那么将会发送所显示的选项值。
对于一个带有多个值的选择元素(即允许多个选项的select元素,用<select multiple>表示)是发送一个字符串数组,并且必须由ServletRequest.getParameterValues进行处理。
复选框比较特别一些。被选中的复选框将字符串“on”发送到服务器。没有被选中的复选框则不发送任何内容到服务器,并且ServletRequest.getParameter(fieldname)返回null。
单选按钮将被选按钮的值发送到服务器。如果没有选中任何按钮,则不发送任何内容到服务器,并且ServletRequest.getParameter(fieldname)返回null。
如果一个表单包含多个同名的输入元素,那么所有的值都会提交,必须用ServletRequest. getParameterValues来获取它们。ServletRequest.getParameter将只返回最后一个值。
代码清单1-4中的FormServlet类示范了处理HTML表单的方法。它的doGet方法发送了一个订单表单给浏览器。它的doPost方法获取输入的值,并输出它们。这个Servlet是app01b应用程序的一部分。
image
image
image
image
image
image

可以利用下面这个URL调用FormServlet:
image

被调用的DoGet方法将这个HTML表单发送给浏览器。

image

表单的方法被设置为post,确保当用户提交表单时,采用的是HTTP POST方法。它的action属性缺失,表示表单会提交给发出请求的那个URL。
图1-6展示了一个空白的订单表单。

image

现在,填写表单,并单击Submit(提交)按钮。在表单中输入的值将会通过HTTP POST方法发送到服务器,这样就会调用Servlet的doPost方法。因此,将会看到如图1-7所示的值。

image

相关文章
|
23天前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
19 1
|
23天前
|
Java
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
18 0
|
1月前
|
移动开发 前端开发 数据安全/隐私保护
8.使用html制作表单
8.使用html制作表单
11 0
|
5天前
|
XML 数据格式
Servlet 教程 之 Servlet 表单数据 7
该教程展示了如何使用Servlet处理HTML表单中的复选框数据。示例中,`checkbox.html`包含三个复选框(百度、Google、淘宝),用户可多选。提交表单后,Servlet `CheckBox`通过`doGet`方法获取并显示选定的选项。在`web.xml`中配置了Servlet映射。
5 1
|
6天前
|
移动开发 前端开发 JavaScript
《HTML 简易速速上手小册》第8章:HTML 表单高级技术(2024 最新版)
《HTML 简易速速上手小册》第8章:HTML 表单高级技术(2024 最新版)
22 0
|
6天前
|
移动开发 JavaScript 前端开发
《HTML 简易速速上手小册》第4章:HTML 的表单与输入(2024 最新版)
《HTML 简易速速上手小册》第4章:HTML 的表单与输入(2024 最新版)
25 0
|
7天前
|
数据安全/隐私保护
Servlet 教程 之 Servlet 表单数据 1
Servlet教程简述了Web服务器如何通过GET和POST接收表单数据。GET方法将编码的用户数据附加到URL,如`http://www.test.com/hello?key1=value1&key2=value2`,适用于非敏感信息,因它在地址栏可见且有限制(&lt;=1024字符)。GET请求由doGet()方法处理。
7 0
|
23天前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
7 0
|
23天前
|
Java
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
13 0
|
23天前
|
Java
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
16 0