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
符
(&)能够区分
请求
中
的
参数
,是用来
分隔
参数
的
符
号。
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和传输数据,多个
参数
用&连接。URL的编码格式采用的是ASCII编码,而不是uniclde,即是说所有的非ASCII字
符
都要编码之后再传输。
POST
请求
:POST
请求
会把
请求
的数据放置在HTTP
请求
包的包体
中
。上面的item=bandsaw就是实际的传输数据。
因此,
GET请求
的数据会暴露在
地址
栏
中
,而POST
请求
则不会。