轉載: https://www.cnblogs.com/renxiaoren/p/5512022.html
我們通常用到request獲取某個參數的方法:
String value=request.getparameter("key");
如果想要獲取request中所有的參數呢?
request中有兩種方法可以實現:
1、request.getParameterMap();
Enumeration enu=request.getParameterNames(); while(enu.hasMoreElements()){ String paraName=(String)enu.nextElement(); System.out.println(paraName+": "+request.getParameter(paraName)); }
2、request.getParameterNames();
Map map=request.getParameterMap(); Set keSet=map.entrySet(); for(Iterator itr=keSet.iterator();itr.hasNext();){ Map.Entry me=(Map.Entry)itr.next(); Object ok=me.getKey(); Object ov=me.getValue(); String[] value=new String[1]; if(ov instanceof String[]){ value=(String[])ov; }else{ value[0]=ov.toString(); } for(int k=0;k<value.length;k++){ System.out.println(ok+"="+value[k]); } }
課外小知識:
Enumeration接口 Enumeration接口本身不是一個數據結構。但是,對其他數據結構非常重要。 Enumeration接口定義了從一個數據結構得到連續數據的手段。例如,Enumeration定義了一個名為nextElement的方法,可以用來從含有多個元素的數據結構中得到的下一個元素。 Enumeration接口提供了一套標准的方法,由於Enumeration是一個接口,它的角色局限於為數據結構提供方法協議。下面是一個使用的例子: //e is an object that implements the Enumeration interface while (e.hasMoreElements()) { Object o= e.nextElement(); System.out.println(o); } 實現該接口的對象由一系列的元素組成,可以連續地調用nextElement()方法來得到 Enumeration枚舉對象中的元素。Enumertion接口中僅定義了下面兩個方法。 ·boolean hasMoreElemerts() 測試Enumeration枚舉對象中是否還含有元素,如果返回true,則表示還含有至少一個的元素。 ·Object nextElement() 如果Bnumeration枚舉對象還含有元素,該方法得到對象中的下一個元素。