做Java做了很多年,却总是把一些东西遗忘,过后再着急的找寻。最近,需要通过Java代码模拟一个表单提交,却怎么也想不起来如何封装数据了。

本篇主要描述Java网络参数传递,主要分为get和post两种方式。

说句玩笑话,真有干了几年Java的朋友不知道get和post的差别,我就在这里唠叨几句。

这个url中,a、b和c是url参数,具体的说是参数名,与之用“=”隔开的是对应的参数值。也就是说参数a的值为3、参数b的值为5、参数c的值为7。get.do是请求地址,紧跟这个地址的参数a需要用“?”作为分隔符,其余参数用“&”做分隔符。

这种get请求发起后,服务器端可以通过request.getParameter()方法来获得参数值。如要获得参数a的值可以通过request.getParameter("a");

2.Post方式

相比get方式,post方式更为隐蔽。例如:http://www.javaweb.cc/post.do

在这个url中,你看不到任何参数,真正的参数隐藏在Http请求的数据体中。如果了解网络监听的话,就会对这一点深有体会。

我们举一个简单的例子:通过表单做登录操作。

我们简化一个登录表单:

  • 用户名
  • 密码
  • type="reset" value="重置" />

表单中有2个字段,用户名(username)和密码(password)

注意form标签中的method参数值是post!

即便是表单,在服务器端仍然可以通过request.getParameter()方法来获得参数值。

Post方式,其实是将表单字段和经过编码的字段值经过组合以数据体的方式做了参数传递。

经过一番阐述,相信大家对两种网络参数传递方式都有所了解了。

Get方式比较简单,通过构建一个简单HttpURLConnection就可以获得,我们暂且不说。

我们主要来描述一下如何通过java代码构建一个表单提交。

仔细研究表单提交时所对应的http数据体,发现其表单字段是以如下方式构建的:

arg0=urlencode(value0)&arg1=urlencode(value1)

当然,尤其要注意字段名,参数名只不能使用中文这类字符。

作为表单,Content-Type也会有所不同,其值为application/x-www-form-urlencoded以下做一个代码展示,

以后再需要我就不用翻“旧账”了 !

我常用的网络工具,其功能远不止模拟一个post请求

/**

* 2010-05-20

*/

package org.zlex.commons.net;

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.UnsupportedEncodingException;

import java.net.HttpURLConnection;

import java.net.URL;

import java.net.URLDecoder;

java get和post请求参数设置,Get和Post两种方式向指定地址提交表单相关推荐

  1. Android点击图片随机,android 设置图片随机出现-两种方式

    android 设置图片随机出现-两种方式, 第一种方式:得到图片对应的Drawable实例,通过setImageDrawable(drawable)实现 //ImageView对应的id ivBg ...

  2. Java版数据结构之单向链表 新增,有序新增的两种方式,修改和删除(CRUD)

    Java版数据结构之单向链表 CRUD Java版数据结构之单向链表 新增,有序新增的两种方式,修改和删除; 留了一个疑问; 我的代码仓库:https://github.com/zhuangbinan ...

  3. QTextEdit详解(设置显示内容的两种方式(setPlainText/insertPlainText、滚动条自动(往下、往上)滚动……)

    目录 一.设置显示内容的两种方式(setPlainText/insertPlainText) 二.滚动条自动(往下.往上)滚动 三.如何设置背景颜色/背景图片 一.设置显示内容的两种方式(setPla ...

  4. android 设置图片随机出现-两种方式

    android 设置图片随机出现-两种方式, 第一种方式:得到图片对应的Drawable实例,通过setImageDrawable(drawable)实现 //ImageView对应的idivBg = ...

  5. 设置背景图片的两种方式,并解决手机端背景图片高度自适应问题

    设置背景图片的两种方式,并解决手机端背景图片高度自适应问题 参考文章: (1)设置背景图片的两种方式,并解决手机端背景图片高度自适应问题 (2)https://www.cnblogs.com/Dark ...

  6. keras embeding设置初始值的两种方式

    随机初始化Embedding from keras.models import Sequential from keras.layers import Embedding import numpy a ...

  7. java中map类型_Java中Map类型遍历的两种方式对比

    Java中Map类型是存储键值对数据的类型,在编程过程经常使用,进行遍历操作对于每个Java程序员都不会模式,下面总结两种常用的遍历方式(一种keySet,一种entrySet),通过对比让你明白使用 ...

  8. Java常见面试题:对象的访问定位的两种方式

    对象的访问定位的两种方式 java对象在访问的时候,我们需要通过java虚拟机栈的reference类型的数据去操作具体的对象. 由于reference类型在java虚拟机规范中只规定了一个对象的引用 ...

  9. java木马_Java校验上传图片文件是否含有木马的两种方式

    这两天开发一个app遇到了上传文件的安全问题,在这里记录下来,弥补自己只有鱼的记忆的缺陷,也希望有人能够提供更好的思路去解决文件上传的安全问题. 下面这个类是文件上传的公共方法,ToolUtils判断 ...

最新文章

  1. 为什么说Python是一门动态语言--Python的魅力
  2. maven打包不打lib目录里面的jar包解决办法
  3. jupyter notebook bp网络_全华班再次败北,TES奇葩BP背大锅!签来风哥能拯救滔搏吗?...
  4. 什么是 SAP Spartacus UI 的 direction 服务
  5. CF280D-k-Maximum Subsequence Sum【模拟费用流,线段树】
  6. python 协程_Python多任务协程
  7. Ten years of pedestrian Detection-论文整理
  8. mqtt 多个订阅者 只允许一个接收_一文读懂物联网的灵魂MQTT
  9. 小甲鱼Python第十九讲课后习题
  10. take android,Protake
  11. 【论文解读--Xdog】(宇树科技鼻祖)新型电驱式四足机器人研制与测试
  12. mysql数据库应用试卷代号3868_实用数据库期末试卷B卷答题纸
  13. 什么是云计算,什么是网格计算,两者之间有什么区别?
  14. python_爬取博客文章下载到本地
  15. halcon深度图,平面拟合后,高度矫正
  16. MySQL自动删除指定时间以前的记录
  17. Java系统线上生产问题排查一把梭,华为高级java面试题
  18. SpringBoot+Vue项目社团网站
  19. 2019-12-17 摘抄: HPET 硬件高精度时钟源Linux内核引导选项
  20. 聊聊什么是探索式测试

热门文章

  1. 软件测试 | 测试开发 | 探究 PHP_CodeSniffer 的代码静态分析原理
  2. 如何完美解决Sqoop导入导出MySQL数据错位问题
  3. 【转】总局公开回应质疑:TVOS不是安卓
  4. STM32cube HAL库两条命令实现i2c通信---Nucleo L476RG用I2C实现tmp117模块温度读取并串口打印
  5. android 代码等待一秒,【报Bug】安卓微信旧版本7.0.2 ,支付完成,等待几秒后,再点击完成 回到小程序,跳转不了页面。...
  6. 命令行方式运行PHP脚本
  7. 36岁女博士找教职之路,真的懵了....
  8. 0705第七讲标准模版库
  9. 简练软考知识点整理-规划风险管理
  10. 电商o2o系统开发原理和解决方案你get了吗?