前言:get和post请求无论在项目中还是在面试中都会经常遇到,这次主要写一个小页面测试一下他们的区别,本人知识有限理解和说的简陋就全当给自己留个备份,日后再补充。
1.项目的目录结构
2.web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>javaWeb_05</display-name>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
配置项目启动时访问的页面
3.login.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>登陆页</title>
</head>
<body> <form action="" method="get">
用户名:<input type="text" name="user">
<br><br>
密码 <input type="password" name="password">
<br><br>
<input type="submit" value="提交">
</form> </body>
</html>
写一个简单的表单,第一次用GET的提交方式
4.
谷歌游览器下,输入表单,用户名:admin,密码:123,很明显在游览器的地址栏上多了“?user=admin&password=123”这一段
5.
点击提交的时候F12快捷键在network中捕捉get请求,可以看到请求地址,请求方式,请求头,参数等信息。
6.login.jsp改为post方式
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>登陆页</title>
</head>
<body> <form action="" method="post">
用户名:<input type="text" name="user">
<br><br>
密码 <input type="password" name="password">
<br><br>
<input type="submit" value="提交">
</form> </body>
</html>
7.
点击提交后地址栏并没有变化
8.
同样可以看到请求地址,请求方式,请求头,参数等信息。
总结:
1.使用get请求的时候,访问地址中会追加参数,在有一些比较隐秘信息的时候,尽量采用post方式;
2.get请求方式发送的数据量很小,一般在2K以内,post方式一般认为无限制;
3.get方式多用于打开链接,post方式多用于提交form表单和文件上传;
4.对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
附:
本次示例代码:点击打开链接
为了尊重原作者,下面粘贴佟刚老师视频的地址: