`
xiaocheng
  • 浏览: 23161 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

GET和POST混合提交同名参数的测试

    博客分类:
  • J2EE
阅读更多

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

 
分享到:
评论
1 楼 javaheart 2008-08-08  
好文,
困扰我很久了
似乎不同语言处理不同,结果也不同

相关推荐

Global site tag (gtag.js) - Google Analytics