1. 程式人生 > >GET和POST混合提交同名引數的測試

GET和POST混合提交同名引數的測試

 

眾所周知,瀏覽器可以通過GET和POST兩種方式傳送資訊到伺服器。但實際上用的最多的應該是GET和POST的混合方式。

比如 提交這樣一個表單
<form action="people.do?action=edit" method="post">
  <input type="text" name="peoName"/>
</form>     
在伺服器單我們可以通過request.getParameter("action")和request.getParameter("peoName")來獲取它們的值。


我們也遇到過這樣的表單<form action="people.do?action=edit" method="post">
  <input type="text" name="peoName"/>
  <input type="text" name="peoName"/>
  <input type="text" name="peoName"/>
</form>     


在伺服器但我們通過request.getParameterValues("peoName")來獲得一個數組,然後遍歷陣列就能依次的到每個文字的值。

那麼我們也可能會遇到這樣的表單。url引數和form中的引數名同名的情況。 <form action="people.do?peoName=maly" method="post">
  <input type="text" name="peoName"/>
</form> 
    
此時傳送資料的方式是GET和POST的混合方式。action中的peoName將以GET方式傳送,表單中的按照method中宣告的POST方式傳送。那麼誰前誰後呢?說的具體點。如果我們在伺服器端用request.getParameter("peoName"),我們的到的值是maly還是text文字框中我們填寫的值呢?假設我們在文字框中填寫的是"bob".

測試結果是我們首先得到的是GET傳送的引數的值。
String Name= request.getParameter("peoName").trim();//輸出maly

String []ss = request.getParameterValues("peoName");
for (int i = 0; i < ss.length; i++) {
     String Name =
ss[i];
     System.out.println("---------->="+keyWord);
}
//測試結果是:---------->=maly
                       ---------->=bob