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

【JavaEE】_form表单构造HTTP请求

目录

1. form表单的格式

1.1 form表单的常用属性

1.2 form表单的常用搭配标签:input

2. form表单构造GET请求实例

3. form表单构造POST请求实例

4. form表单构造法的缺陷


对于客户端浏览器,以下操作即构造了HTTP请求:

1. 直接在浏览器地址栏中输入URL,此时构造了一个GET请求;

2. HTML中,一些特殊的标签如img,a,link,script等可能会触发GET请求;

3. 通过form表单来触发GET或POST请求(form本质也是一个HTML,但更复杂一点,故而单列而论);

4. ajax构造HTTP请求;

1. form表单的格式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>form表单</title>
</head>
<body><form action=""></form>
</body>
</html>

1.1 form表单的常用属性

1. 在form表单的开始标签中,可以写属性(键值对),其中键值对之间用空格分割,键和值之间用=分割,键不需要引号但值要有双引号;常用的属性有action与method;

2. action属性的值填写的内容是访问的请求的URL(可以带上IP和端口号);

3. method属性的值填写的内容是构造的是GET请求还是POST请求(form表单只支持GET和POST,不支持其他的HTTP方法);

1.2 form表单的常用搭配标签:input

input标签是一个单标签:

(1)常用属性type取值为text或password(text为明文输入,password是密文输入)时:

表示一个输入框

input标签中,输入框中的内容就会被构造成HTTP请求的query string(键值对),其中key就是input输入框的name属性,value就是输入框中用户输入的内容;

(2)常用属性type取值为submit时,表示一个按钮

此时value属性中的内容是按钮上显示的文本

2. form表单构造GET请求实例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>form表单</title>
</head>
<body><form action="http://www.sogou.com/abc.html" method="get"><input type="text" name="key1"><input type="text" name="key2"><input type="text" name="key3"><input type="submit" value="提交"></form>
</body>
</html>

根据路径使用Chrome打开文件,在三个输入框中依次输入1,2,3:

点击提交后页面如下:

试用Fiddler抓包,请求详情如下:

当前实例表示:客户端构造了一个GET请求发送给服务器,服务器返回的响应为404;

如果需要获取到服务器返回的正确的期望的响应,需要服务器的代码进行配合;

3. form表单构造POST请求实例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>form表单</title>
</head>
<body><form action="http://www.sogou.com/abc.html" method="post"><input type="text" name="key1"><input type="text" name="key2"><input type="text" name="key3"><input type="submit" value="提交"></form>
</body>
</html>

点击提交后,同get请求,在输入框中输入1,2,3点击提交后,页面如下:

使用Fiddler抓包结果如下:

4. form表单构造法的缺陷:

1. form表单只支持构造GET和POST请求,不支持其他方法;

2. form会触发页面跳转,有时会带来不便;

相关文章:

  • 通过OCR实现纯数字识别
  • elementui 中el-date-picker 选择年后输出的是Wed Jan 01 2025 00:00:00 GMT+0800 (中国标准时间)
  • 模型转换案例学习:等效替换不支持算子
  • 代码随想录算法训练营|二叉树总结
  • Sora 文生视频提示词实例集 2
  • 几个常见的C/C++语言冷知识
  • AIGC 实战:如何使用 Docker 在 Ollama 上离线运行大模型(LLM)
  • 深入理解Spring Boot Starter:概念、特点、场景、原理及自定义starter
  • python子域名收集工具
  • 三防平板丨平板终端丨加固平板丨仓库管理应用
  • 软考-中级-系统集成2023年综合知识(一)
  • OpenWRT部署web站点并结合内网穿透实现无公网ip远程访问
  • Git合并固定分支的某一部分至当前分支
  • 如何使用useMemo来优化性能
  • 基于 Amazon EC2 和 Amazon Systems Manager Session Manager 的堡垒机的设计和自动化实现
  • 【笔记】你不知道的JS读书笔记——Promise
  • android图片蒙层
  • co模块的前端实现
  • css系列之关于字体的事
  • github指令
  • interface和setter,getter
  • Invalidate和postInvalidate的区别
  • Node + FFmpeg 实现Canvas动画导出视频
  • PAT A1092
  • python_bomb----数据类型总结
  • ReactNative开发常用的三方模块
  • Spark学习笔记之相关记录
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • 阿里研究院入选中国企业智库系统影响力榜
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 爱情 北京女病人
  • 从输入URL到页面加载发生了什么
  • 工程优化暨babel升级小记
  • 回流、重绘及其优化
  • 那些年我们用过的显示性能指标
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 使用putty远程连接linux
  • 学习Vue.js的五个小例子
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • #ifdef 的技巧用法
  • $(function(){})与(function($){....})(jQuery)的区别
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (1)SpringCloud 整合Python
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (办公)springboot配置aop处理请求.
  • (待修改)PyG安装步骤
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (南京观海微电子)——I3C协议介绍
  • (十八)用JAVA编写MP3解码器——迷你播放器