<form action="getPostServlet/getPost.do?param4=param4" method="get">
<input type="hidden" name="param1" value="param1">
<input type="hidden" name="param2" value="param2">
<input type="text" name="param3" value="param3" readonly>
<input type="submit" name="button1" value="submit">
</form>
注意到表單中action:getPostServlet/getPost.do?param4=param4,這個action帶有一個參數param4。
1.如果用get方法提交,后台無法接收到這個參數;
2.如果用post方法提交,后台就可以接收到這個參數。
經查詢發現:
1.用get方法提交的url顯示如下:
http://localhost/mywebapp/getPostServlet/getPost.do?pram1=param1&pram2=param2&pram3=param3&button1=submit
1
也就是說method為get時action自己后邊帶的參數列表會被忽視,,后台無法接收到這個參數,只能得到表單中的參數;
2.用post方法提交的url顯示如下:
http://localhost/mywebapp/getPostServlet/getPost.do?param4=param4
1
也就是說post方式提交表單,參數分為兩部分:一部分是action中的參數放在地址欄;另一部分是表單中的參數放在請求的頭中;所以所有的數據后台全部能獲得。
總結:
get: get請求方式的表單的action屬性中不能附帶任何參數,如果仍然想使用GET請求方式,可以在form表單中添加相應的隱藏文本域,例如:
<input name=”method” type=”hidden” value=”test”>
1
post: 采用post請求方式,在form中增加屬性method=”post”即可。
來源:https://blog.csdn.net/qq_32534441/article/details/83478717