《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

相关文章
|
1月前
|
Java
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
学校教师管理系统【JSP+Servlet+JavaBean】(Java课设)
22 1
|
1月前
|
Java
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
人事管理系统【JSP+Servlet+JavaBean】(Java课设)
19 0
|
12天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
17天前
|
XML 数据格式
Servlet 教程 之 Servlet 表单数据 7
该教程展示了如何使用Servlet处理HTML表单中的复选框数据。示例中,`checkbox.html`包含三个复选框(百度、Google、淘宝),用户可多选。提交表单后,Servlet `CheckBox`通过`doGet`方法获取并显示选定的选项。在`web.xml`中配置了Servlet映射。
7 1
|
19天前
|
数据安全/隐私保护
Servlet 教程 之 Servlet 表单数据 1
Servlet教程简述了Web服务器如何通过GET和POST接收表单数据。GET方法将编码的用户数据附加到URL,如`http://www.test.com/hello?key1=value1&key2=value2`,适用于非敏感信息,因它在地址栏可见且有限制(&lt;=1024字符)。GET请求由doGet()方法处理。
9 0
|
1月前
|
Java
排课系统【JSP+Servlet+JavaBean】(Java课设)
排课系统【JSP+Servlet+JavaBean】(Java课设)
9 0
|
1月前
|
Java
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
仓库管理系统【JSP+Servlet+JavaBean】(Java课设)
15 0
|
1月前
|
Java
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
学校人员管理系统【JSP+Servlet+JavaBean】(Java课设)
17 0
|
2月前
|
移动开发 JavaScript 前端开发
HTML ,XHTML,HTML5简介,js,JSP与Servlet的关系理解
HTML ,XHTML,HTML5简介,js,JSP与Servlet的关系理解
47 5
|
3月前
|
Java
jsp页面中使用jstl标签报错:javax.servlet.jsp.JspTagException
jsp页面中使用jstl标签报错:javax.servlet.jsp.JspTagException
15 0