jsp学习笔记——HTML表单
来源:互联网 发布:java 法定节假日 编辑:程序博客网 时间:2024/06/05 02:32
关于HTML请求的内容可以参考前一章节http://blog.csdn.net/u010724039/article/details/42291985,HTML的请求有两个主要的请求方法,为get和post方法,get方法可以为html超链接(也就是<a></a>格式内容)提交请求,也可以为html表单提交请求,post方法只能为html表单提交请求,并且实现与get方法不同。下面是一个html表单方法:
<html>
<body>
<form action="main.jsp" method="GET">
First Name: <input type="text" name="first_name">
<br />
Last Name: <input type="text" name="last_name" />
<input type="submit" value="Submit" />
</form>
</body>
</html>
如果要实现get方法请求,比如在表单中输入first_name的值为a,last_name值为b,则其http请求的内容如下所示:
GET /hello/checkUser.html?first_name=a&last_name=b HTTP/1.1
Referer: http://localhost:8000/hello/index.html
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
Host: localhost:8000
Connection: Keep-Alive
Cookie: JSESSIONID=BBBA54D519F7A320A54211F0107F5EA6
注意:并没有请求主体,仅有一个空行
如果实现post方法请求,http请求内容则如下:
POST /hello/checkUser.html?opt=xxx HTTP/1.1
Referer: http://localhost:8000/hello/index.html
Accept: */*
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: localhost:8000
Content-Length: 20
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: JSESSIONID=BBBA54D519F7A320A54211F0107F5EA6
first_name=a&last_name=b
注意:此时在空行之后,有请求主体。
可以看到无论是get或者是post请求,都是由浏览器生成的,只是get方式会将表单数据进行URL Encoding转换为URL方式进行提交,并且原网址与编码之后的信息用?隔开。而post方式则不需要这一操作,仅将表单数据作为请求主体内容发出,但是存在问题的是,post方法不能使用非法字符,要对字符进行URL Encoding转换。关于转换规则如下:
-字母数字字符 "a" 到 "z"、"A" 到 "Z" 和 "0" 到 "9" 保持不变。
-特殊字符 "."、"-"、"*" 和 "_" 保持不变。
-空格字符 " " 转换为一个加号 "+"。
-所有其他字符都是不安全的,认为是非法字符,因此首先使用一种编码机制将它们转换为一个或多个字节。然后对每个字节用一个包含 3 个字符的字符串 "%xy" 表示,其中 xy 为该字节的两位十-六进制表示形式。推荐的编码机制是 UTF-8。
- jsp学习笔记——HTML表单
- HTML学习—表单
- html表单学习笔记
- HTML学习笔记-表单
- HTML学习笔记:表单标记
- HTML学习笔记--表单标记
- HTML学习笔记----表单标签
- html表单---学习笔记03
- Html学习笔记6:表单
- JAVA遇见HTML——JSP篇 学习笔记
- HTML学习笔记 -- 4. HTML表单
- HTML笔记——表单(form)
- HTML学习(六)——表单
- HTML表单学习1——表单基础
- HTML表单学习2——表单元素补充
- Bootstrap—表单学习笔记
- 黑马程序员_学习笔记4——html标签和表单标签
- HTML学习笔记【9】使用表单
- 自定义组合控件的过程
- 简单的回调函数
- 读《C陷阱和缺陷》(四)
- [gist]moz-request.js
- 完成用户注册之后,跳转到用户注册的邮箱所在的网址
- jsp学习笔记——HTML表单
- oracle 11g RAC 修改public ip ,vip , scan ip
- 回调函数的使用
- [gist]Why do we still need Evernote since there is awesome gist.github.com
- [gist]Why Promises will make async easy
- [gist]为什么事件驱动服务器这么火
- confulence 的安装与迁移 (博客迁移)
- windows下搭建pygtk开发环境(2015-1-5)
- for in结构的简单理解