XML/HTML code
1
2
3
4
5
<form action="servlet/ThirdServlet?userName=1&passWord=2" method="post">
姓名<input type="text" name="uesrName"><br>
密碼<input type="text" name="passWord"><br>
<input type="submit" value="提交">
</form>
Java code
1
2
3
5
6
7
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String userName = request.getParameter("userName");
String passWord = request.getParameter("passWord");
response.getWriter().println("userName --->"+userName);
response.getWriter().println("passWord---->"+passWord);
}
當(dāng)form提交方式為get的時候,組件里填寫了value的值,action里的url后也帶有參數(shù)(寫死的),這時servlet獲取的uesrName和passWord是文本組件里的值
當(dāng)form提交方式為post的時候,組件里填寫了value的值,action里的url后也帶有參數(shù)(寫死的),這時servlet獲取的uesrName和passWord是url后參數(shù)的值
表單提交中Get和Post方式的區(qū)別有5點
1.get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。
2.get是把參數(shù)數(shù)據(jù)隊列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個字段一一對應(yīng),在URL中可以看到。post是通過HTTPpost機制,將表單內(nèi)各個字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3.對于get方式,服務(wù)器端用Request.QueryString獲取變量的值,對于post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。
4.get傳送的數(shù)據(jù)量較小,不能大于2KB。post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5.get安全性非常低,post安全性較高。