添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

GET请求中参数分隔符分号(;)和and符(&)分隔参数的区别

在开发项目或梳理某个项目的程序代码时,我们很可能会看到很多请求以及请求后面的参数列表。这时,有可能会遇到请求后面的参数之间使用分号(;)或and符(&)分隔的情况,有时候很多小伙伴看到这个会有些疑惑,不知道这两个符号到底有什么区别,那么这篇文章利用一个简单的例子来帮大家排除疑惑,权当抛砖引玉。希望大家在平时的工作中再对这两个分隔符有更深的理解和体会。

一、示例结构

创建了一个很简单的web架构,没有使用struts或spring的架构,单单只是jsp页面。准备的内容:

1.Tomcat apache-tomcat-8.5.13。

注意事项:在使用 apache-tomcat-8.5.13时,要安装和配置jdk7以上的版本,否则启动tomcat失败,启动控制台会闪一下,然后就没有了,运行tomcat的首页也不会显示。

2.在tomcat的webapps中创建了一个文件夹testjsp。

3.在testjsp文件夹中创建了一个main.jsp文件。其中的内容就是处理请求并在页面显示数值。

main.jsp的内容:

定义两个参数,一个是站点名(name),一个是网址(url),发出请求时带上这两个参数并在页面中处理请求,在页面上显示这两参数的内容。

<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*"%>


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>练习Demo</title>
</head>
<body>
<h1>使用GET方法读取数据</h1>
<ul>
<li>
<p>
<b>站点名:</b>
<%= request.getParameter(" name ")%>
</p>
</li>
<li>
<p>
<b>网址:</b>
<%= request.getParameter(" url ")%>
</p>
</li>
</ul>
</body>
</html>

二、测试分号(;)和and符(&)分隔符

首先要保证tomcat可以正常启动,并能够运行http://localhost:8080显示tomcat主页。

1.and符(&)的参数分隔测试。

在浏览器中输入

http://localhost:8080/testjsp/main.jsp?name=test&url=www.baidu.com

回车后,我们可以在页面上看到两个参数的内容显示。站点名(name)为test,网址(url)为www.baidu.com,也就是and符(&)将两个参数分开,使得在处理请求时认为这是两个独立的参数。

2.分号(;)的参数分隔测试。

在浏览器中输入

http://localhost:8080/testjsp/main.jsp?name=test;url=www.baidu.com

回车后,我们可以在页面上看到两个参数的内容显示。站点名(name)为test;url=www.baidu.com,网址(url)为null,也就是分号(;)将两个参数进行了连接,使得在处理请求时认为只传递过来一个参数name,而没有传递url参数,也就是分号(;)后面出现的内容并不认为是单独的请求参数,而是前面参数内容的一部分。除非参数列表中出现and符(&),处理时会认为&后又是一个请求参数。

3.and符(&)和分号(;)的参数分隔测试

在浏览器中输入

http://localhost:8080/testjsp/main.jsp?name=test;url=www.baidu.com&url=www.csdn.net

回车后,我们可以在页面上看到两个参数的内容显示。站点名(name)为test;url=www.baidu.com,网址(url)为www.csdn.net。

1.分号(;)不能区分请求中的参数,只是参数内容中的一部分。

2.and符(&)能够区分请求中的参数,是用来分隔参数的符号。

3.使用分号(;)的场景:有可能是请求中传递的参数太多了,所以使用分号(;)将参数对(key=value)连接起来作为一个请求参数进行传递。

后话 对于这两个符号的介绍就是这些,肯定有没有说到和碰到的内容,还请大家在工作实践中积累相关经验,有更好的体验和内容请在csdn上与大家分享。

GET请求中参数分隔符分号(;)和and符(&)分隔参数的区别       在开发项目或梳理某个项目的程序代码时,我们很可能会看到很多请求以及请求后面的参数列表。这时,有可能会遇到请求后面的参数之间使用分号(;)或and符(&)分隔的情况,有时候很多小伙伴看到这个会有些疑惑,不知道这两个符号到底有什么区别,那么这篇文章利用一个简单的例子来帮大家排除疑惑,权当抛砖引玉。希望大家在平时的工
摘自博客 https://blog.csdn.net/laowang2915/article/details/77092604 1. 分号 (;)不能区分 请求 参数 ,只是 参数 内容 的一部分。 2.and (&amp;)能够区分 请求 参数 ,是用来 分隔 参数 号。 3.使用 分号 (;)的场景:有可能是 请求 传递的 参数 太多了,所以使用 分号 (;)将 参数 对(key=value)连接起来作为一个 请求 参数 进...
BCryptPasswordEncoder类, 实现Spring的PasswordEncoder接口使用BCrypt强哈希方法来加密密码。 BCrypt强哈希方法 每次加密的结果都不一样。 除了加密以外还能比较密码 BCryptPasswordEncoder encode = n... 当一个方法的形参需要一个类类型,就传该类的一个对象 eg:Student stu = new Student(); eg: SetStudent(stu,19);——————输出结果为19 当一个方法的形参需要一个 抽象类类型,就传该抽象类的一个子类对象 eg:AA bb = new BB(); eg:Get(bb,300);——————输出结果为抽象类 定义的100; 注:若用抽象类接收... 1、 GET请求 请求 的数据会附加在URL之后,以?分割URL和传输数据,多个 参数 用&连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字 都要编码之后再传输。 POST 请求 :POST 请求 会把 请求 的数据放置在HTTP 请求 包的包体 。上面的item=bandsaw就是实际的传输数据。 因此,GET请
1、 GET请求 请求 的数据会附加在URL之后,以?分割URL和传输数据,多个 参数 用&amp;连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字 都要编码之后再传输。 POST 请求 :POST 请求 会把 请求 的数据放置在HTTP 请求 包的包体 。上面的item=bandsaw就是实际的传输数据。 因此, GET请求 的数据会暴露在 地址 ,而POST 请求 则不会。