众所周知,浏览器可以通过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