GET
1、采用URL请求路径传输参数。参数拼接在URL后面。
2、参数传输过程中隐私性较差,直接在URL后面。
3、路径可以容纳的数据有限,只能传递少量参数。
4、所有请求默认就是get。
Get方式传参,不是非得在form表单里面,可以手动写,就像我可以直接搜索百度的域名以打开百度界面。
把我写的servlet中添加操作的from改为get,运行。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="<%=request.getContextPath()%>/student?method=insert" method="get">
名字:<input type="text" name="name"/><br/>
年龄:<input type="text" name="age"/><br/>
性别:<input type="text" name="gender"/><br/>
<input type="submit" value="添加"/>
</form>
</body>
</html>
点击添加
可以看到,参数拼接在URL后面,而且操作并没有被执行。
因为 get 在拼接时将 问号后的部分 覆盖掉了,操作无法进行。
POST
1、采用实体内容传参数。
2、参数在传输过程中不可见,隐私性好。
3、实体内容专门用来传输数据,大小没有限制。
4、使用:在form上加method="post"
可以看到,参数并没有被拼接,显示http://localhost:8080/JavaWeb/student?method=insert,并且添加操作成功执行
共同点
不管是Get方式还是POST方式传参数,后台代码的处理是不变的,只是前台传递参数的方式变了而已。