表单的提交方式

article/2025/9/21 11:49:54

表单有两个较特殊的属性,一个是method,是规定用于发送表单的HTTP方法(提交表单的方式);还有一个是action,是规定当提交时向何处发送表单的数据(要提交表单的地址)。Form表单有一个自动提交的功能(submit)有时候不写submit也会自动提交。可以默认不写。如果不想要表单自动提交就要写阻止表单自动提交的方法(οnsubmit=“return false;”)。
表单的提交方式有两种:分别是get提交(为表单的默认提交方式)与post提交。
首先是get提交,get提交时参数会直接暴露在URL上。如下图:
在这里插入图片描述在这里插入图片描述
在form表单输入所对应的值,然后点击表单提交,提交之后它就会把表单的数据添加到所指向的URL后面,两者之间用“?”链接,每个变量之间用“&”链接。
Get提交可以更简单更快并且在大多数情况下都能使用,但是在以下几种情况不能使用(最好不要使用):
一、在提交时无法使用缓存文件的时候;
二、向服务器发送大量的数据的时候(get提交有数据量限制);
三、发送包含着未知字符的用户输入的时候(get提交是不安全的);
四、在更新服务器上的文件会数据库的时候。
接下来是post提交:post提交是将表单的数据放在form的数据体中。如下图:
在这里插入图片描述
在表单中输入相对应的值,然后点击表单提交,提交之后它就会把数据放到form的数据体中,按照变量和值对象的方式传到所指向的action(也就是控制器),然后到控制器断点才能看到页面表单输入的值。如下图:在这里插入图片描述
左边是代码,右边是断点后看到的值。而在URL上也只是提交表单时发送表单数据的URL,没有其他的值或者其他的参数。Post需要特别注意的一点是提交数据之后再刷新页面重复提交会产生不良的后果,如下图:在这里插入图片描述
如果重复刷新页面服务器就会反复提醒上图的信息,会让人感觉很烦躁,这是它最不好的一点。
Get与Post的主要区别:
1、 Get方法是用来向服务器上获取数据;而Post是用来子昂服务器上传递修改数据。
2、 两者传递参数的方式不一样,Get是将数据直接添加到action所指向的URL后面;而Post是将数据放在form的数据体中。
3、 Get是不安全的,因为在传输数据的过程中数据直接暴露在请求的URL上,用户可以在浏览器上看到提交的数据,还有一些系统内部信息也会显示在用户面前;而Post的所有操作用户都是不可见的。
4、 Get提交传输的数据量少,受限于URL的长度限制;而Post提交没有数据量限制。
5、 Get提交方式获取数据后刷新不会有负面影响;而Post提交刷新页面重复提交可能会产生不良的后果。
Post获取表单元素的四种方式:
第一种:FormCollection from;
第二种:Request.Form[“txtName”](txtName为表单元素中name属性的值);第三种:是通过传递参数的形式来接收表单元素;
第四种是用实体模型来接收实例化的对象,通过实例化对象来接受表单元素。
Get获取表单元素只有一种方式,就是通过传递参数的形式来接受表单元素。


http://chatgpt.dhexx.cn/article/3pleXBys.shtml

相关文章

InputStream的read()读取机制

public void readArr() {// 明确文件File file new File("D:/net.txt");// 构建流的对象InputStream inputStream null;try {inputStream new FileInputStream(file);// 声名缓冲数组int i;byte[] bytes new byte[5];while ((i inputStream.read(bytes)) ! -1) …

java中的InputStream,OutputStream,Read,Writer

Java 中定义了两种类型的流:字节型,和字符型。 字节流:处理字节的输入和输出。包括读写二进制数据等方面的内容。 字符流:处理字符的输入和输出。他采用的是 Unicode 编码,可以实现国际化。使用字符流的另外一个好处…

InputStreamReader和OutputStreamWriter 的区别和用法

一、InputStreamReader 用于将一个字节流中的字节解码成字符 , 用法如下 Testpublic void Test19() throws Exception {InputStream in new FileInputStream("C:/hello.txt");// 读取文件的数据,注意文件编码为UTF-8,防止读取乱码// 将输入的字节流 ---…

InputStream.read() 和 OutputStream.write()方法

InputStream.read() 和 OutputStream.write()方法组合使用可以完成文件的复制功能。 先贴出代码 InputStream inputStream new FileInputStream(file);OutputStream os response.getOutputStream();byte[] b new byte[2048];int size;while ((size inputStream.read(b)) &…

InputStream 、 InputStreamReader和BufferedReader

在Java中,上述三个类经常用于处理数据流,下面介绍一下三个类的不同之处以及各自的用法。 InputStream : 是所有字节输入流的超类,一般使用它的子类:FileInputStream等,它能输出字节流;InputStre…

Java转换流(InputStreamReader/OutputStreamWriter)

文章目录 概述为什么会有转换流?InputStreamReaderOutputStreamWriter 概述 转换流是字节流到字符流的桥梁,在转换的过程中,可以指定编码。转换流也是一种处理流,它提供了字节流和字符流之间的转换。 转换流的两个类 InputStrea…

InputStream read()方法详解

在Java7中,InputStream被定义为一个抽象类,相应的,该类下的read()方法也是一个抽象方法,这也就意味着必须有一个类继承InputStream并且实现这个read方法。   查阅Java7 API,我们可以看到,在InputStream中…

【Java学习笔记】InputStreamReader的理解

一、InputStreamReader类 API文档说明:InputStreamReader类是从字节流到字符流的桥接器:它使用指定的字符集读取字节并将它们解码为字符。 它使用的字符集可以通过名称指定,也可以明确指定,或者可以接受平台的默认字符集。每次调…

InputStreamReader介绍使用

InputStreamReader类: java.io.InputStreamReader extends Reader InputStreamReader:是字节流通向字符流的桥梁:他使用指定的charset读取字节并将其解码为字符。(解码:把看不懂的变为能看懂的) 继承自父类的共性成员方法:int r…

jconsole工具监测jvm

背景 本篇文章为了记录如何使用jconsole工具。 jconsole工具使用环境是windows,监控服务端在linux上。 如何启动jconsole 找到你本地jdk的目录,进入bin目录,找到jconsole.exe程序双击启动即可 本地进程 如果是想调试本地程序的话&#xf…

jconsole远程连接服务器失败,提示“连接失败:是否重试“

操作步骤: 运行程序的时候加上参数: -Djava.rmi.server.hostname****** -Dcom.sun.management.jmxremotetrue -Dcom.sun.management.jmxremote.port9991 -Dcom.sun.management.jmxremote.authenticatefalse -Dcom.sun.management.jmxremote.sslfalse 服务器打开端口:效果就…

java jconsole 远程连接_jconsole连接远程tomcat

咱们先说怎么做,然后再聊聊一些原理,当然,本人技术能力有限,有错误的地方,欢迎指正。 1.本机环境,远程环境 本机环境:windows 7 java version "1.8.0_121" 远程环境:centos 6.5 java…

jconsole远程连接的使用

背景 在项目做性能压测的时候,对程序进行分析,需要用到jconsole工具,以前都没用过,学习了一下 连接步骤 1. 打开工具 打开jdk安装目录 -> bin ,找到jconsole.exe 双击打开 2. 到服务器中,加入以下…

简单使用Jconsole

引言 本文简单介绍Jconsole,死锁用例测试分析线程 正文 测试用例 DeadLockDemo : public class DeadLockDemo {private static Object resource1 new Object();//资源 1private static Object resource2 new Object();//资源 2public static void…

linux jconsole 监控jvm,JVM监测分析JConsole

一、基本操作 启动界面 1.JConsole是什么 从Java 5开始引入了JConsole。JConsole是一个内置Java性能分析器,可以从命令行或在GUI shell中运行。您可以轻松地使用JConsole(或者,它更高端的“近亲” VisualVM)来监控Java应用程序性能和跟踪Java中的代码。 …

Java应用程序监控之 jconsole

jconsole jconsole 启动一个图形控制台,使您可以监视和管理Java应用程序。JConsole图形用户界面是一个符合Java Management Extensions(JMX)规范的监视工具。JConsole使用Java虚拟机(Java VM)的广泛工具来提供有关Jav…

JConsole远程监控配置

首先,看本机(Windows)安装了JRE没 Win 》 CMD 打开命令窗口 如有安装,则会显示以下版本信息;若没有显示,就安装吧 1 C:\Users\Administrator>java -version 2 java version "1.8.0_111" 3 …

jconsole连接失败:是否重试?

背景 在学习使用jconsole的时候,按照大佬们的教程一步一步操作的,到了连接的时候却一直报这个错误,连接不上远程服务,百度了很久也没有相关的说明,都是让添加那些启动参数,问题是启动参数我早就添加了。。…

JConsole详解

一、JConsole是什么 从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。 二、如何启动JConsole 如…

Jconsole小记

今天在看jmeter相关的文章时,看到了这个,网上查看了一些相关的博客,虽然现在还不做性能方面的,先记录下来以便日后查看。 Jconsole,Java Monitoring and Management Console。 Jconsole是JDK自带的监控工具&#xff…