当前位置: 首页 > news >正文

公司网站首页导航html专业百度seo排名优化

公司网站首页导航html,专业百度seo排名优化,广州建设工程网,web项目开发最近做项目时,发现手机客户端通过http协议post方式上传数据到服务端,在服务器端通过request.getInputStream()能获取到相应的数据,但用request.getParameter()却获取不到数据。这是怎么回事呢,后来发现这种情况跟form表单的属性 e…
最近做项目时,发现手机客户端通过http协议post方式上传数据到服务端,在服务器端通过request.getInputStream()能获取到相应的数据,但用request.getParameter()却获取不到数据。这是怎么回事呢,后来发现这种情况跟form表单的属性 enctype有关系。

HTML中的form表单有一个关键属性 enctype=application/x-www-form-urlencoded 或multipart/form-data。

1、enctype="application/x-www-form-urlencoded"是默认的编码方式,当以这种方式提交数据时,HTTP报文中的内容是:

POST /post_test.php HTTP/1.1   
Accept-Language: zh-CN  
User-Agent: Mozilla/4.0   
Content-Type: application/x-www-form-urlencoded   
Host: 192.168.12.102  
Content-Length: 42  
Connection: Keep-Alive  
Cache-Control: no-cache  title=test&content=%B3%AC%BC%B6%C5%AE%C9%FA&submit=post+article
Servlet的API提供了对这种编码方式解码的支持,只需要调用ServletRequest 类中的getParameter()方法就可以得到表单中提交的数据。
2、在传输大数据量的二进制数据时,必须将编码方式设置成enctype="multipart/form-data",当以这种方式提交数据时,HTTP报文中的内容是:

POST /post_test.php?t=1 HTTP/1.1  
Accept-Language: zh-CN  
User-Agent: Mozilla/4.0    
Content-Type: multipart/form-data; boundary=---------------------------7dbf514701e8  
Accept-Encoding: gzip, deflate  
Host: 192.168.12.102  
Content-Length: 345  
Connection: Keep-Alive  
Cache-Control: no-cache  -----------------------------7dbf514701e8  
Content-Disposition: form-data; name="title"  
test  
-----------------------------7dbf514701e8  
Content-Disposition: form-data; name="content"  
....  
-----------------------------7dbf514701e8  
Content-Disposition: form-data; name="submit"  
post article  
-----------------------------7dbf514701e8--
如果以这种方式提交数据就要用request.getInputStream()或request.getReader()来获取提交的数据 ,用 request.getParameter()是获取不到提交的数据的。

最后注意request.getParameter()、request.getInputStream()、request.getReader()这三种方法是有冲突的,因为流只能被读一次。
比如:
当form表单内容采用enctype=application/x-www-form-urlencoded编码时,先通过调用request.getParameter()方法获取数据后,再调用request.getInputStream()或request.getReader()已经获取不到流中的内容了,因为在调用 request.getParameter()时系统可能对表单中提交的数据以流的形式读了一次,反之亦然。

当form表单内容采用enctype=multipart/form-data编码时,调用request.getParameter()获取不到数据,即使已经调用了request.getParameter()方法也可以再通过调用request.getInputStream()或request.getReader()获取表单中的数据,但request.getInputStream()和request.getReader()在同一个响应中是不能混合使用的,如果混合使用会抛异常的。

转载于:https://www.cnblogs.com/archermeng/p/7537068.html

http://www.lbrq.cn/news/2541367.html

相关文章:

  • 郏县建设局网站seo优化服务是什么
  • 中文网站什么意思软件培训班学费多少
  • dw做网站字体做多大网络营销公司名称
  • 赣州网站网站建设公司关键词排名优化
  • 上海优化公司seo网络推广技术
  • 南康网站网站建设网站友情链接出售
  • 柳市做网站建设百度客服电话号码
  • 百度推广做网站优化落实疫情防控
  • 建设网站怎么输入分子式北京官网seo收费
  • 做英文网站有用吗百度seo优化网站
  • 网站pc客户端制作韩国最新新闻
  • 网站建设河南公司今天刚刚发生的新闻台湾新闻
  • 什么网站可以做字体效果好电工培训学校
  • 淄博网站电子商城平台建设网盘手机app官网下载
  • 欧美做愛网站seo排名软件怎么做
  • 南阳做网站哪家好上海网站排名推广
  • 网络营销公司排名榜seo自动刷外链工具
  • 网站备案 需要上传网站么百度指数如何提升
  • 做邮轮上哪个网站订票好如何做品牌宣传与推广
  • 抚顺做网站的公司竞价开户公司
  • 贵阳微网站建设公司哪家好东莞百度seo新网站快速排名
  • 什么是做自己的网站推广平台排名
  • 鄄城菏泽网站建设网络广告推广方案
  • 建设网站的目的是为了的英语百度推广开户需要多少钱
  • 如何建设网站 企业苏州seo免费咨询
  • 徐州模板自助建站系统优化助手
  • 如何做网站网页流程站长字体
  • 邢台医院网站建设百度关键词相关性优化软件
  • 苏州做网站优化百度学术官网论文查重免费
  • 图片无法显示wordpress周口网站seo
  • RAWINPUT避坑指南(涉及GetRawInputData/GetRawInputBuffer)
  • 9.3panic!最佳实践
  • Node.js 路由与中间件
  • 学习游戏制作记录(各种水晶能力以及多晶体)8.1
  • flutter release调试插件
  • 【vue】Vue 项目创建工具对比:vue create 与 create-vue 的核心区别