教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢(xún)/投訴熱線:400-618-4000

Java培訓(xùn)之HttpServletRequest獲取參數(shù)

更新時(shí)間:2016年06月29日16時(shí)48分 來(lái)源:傳智播客Java培訓(xùn)學(xué)院 瀏覽次數(shù):

1 HttpServletRequest獲取參數(shù)方法
可以使用HttpServletRequest獲取客戶(hù)端的請(qǐng)求參數(shù),相關(guān)方法如下:
  • String getParameter(String name):通過(guò)指定名稱(chēng)獲取參數(shù)值;
  • String[] getParameterValues(String name):通過(guò)指定名稱(chēng)獲取參數(shù)值數(shù)組,有可能一個(gè)名字對(duì)應(yīng)多個(gè)值,例如表單中的多個(gè)復(fù)選框使用相同的name時(shí);
  • Enumeration getParameterNames():獲取所有參數(shù)的名字;
  • Map getParameterMap():獲取所有參數(shù)對(duì)應(yīng)的Map,其中key為參數(shù)名,value為參數(shù)值。
 
2 傳遞參數(shù)的方式
傳遞參數(shù)的方式:GET和POST。
GET:

  • 地址欄中直接給出參數(shù):http://localhost/param/ParamServlet?p1=v1&p2=v2;
  • 超鏈接中給出參數(shù):<a href=” http://localhost/param/ParamServlet?p1=v1&p2=v2”>???</a>
  • 表單中給出參數(shù):<form method=”GET” action=”ParamServlet”>…</form>
 
POST:

  • 表單中給出參數(shù):<form method=”POST” action=”ParamServlet”>…</form>
 
無(wú)論是GET還是POST,獲取參數(shù)的方法是相同的。
String s1 = request.getParameter(“p1”);//返回v1
String s2 = request.getParameter(“p2”);//返回v2
3 多值參數(shù)
例如在注冊(cè)表單中,如果讓用戶(hù)填寫(xiě)愛(ài)好,那么愛(ài)好可能就是多個(gè)。那么hobby參數(shù)就會(huì)對(duì)應(yīng)多個(gè)值:
4 獲取所有參數(shù),并封裝到Map中
  request.getParameterMap()方法返回Map類(lèi)型,對(duì)應(yīng)所有參數(shù)。其中Map的key對(duì)應(yīng)參數(shù)的名字;Map的value對(duì)應(yīng)參數(shù)的值。
5 BeanUtils:使用Map創(chuàng)建Bean實(shí)例
我們知道,可以使用Map來(lái)創(chuàng)建Bean實(shí)例,我們也知道,可以把表單數(shù)據(jù)封裝到Map中返回。這樣我們就可以通過(guò)BeanUtils把表單數(shù)據(jù)封裝成Bean實(shí)例了。但要注意的是,必須要?jiǎng)?chuàng)建表單中參數(shù)的名稱(chēng)<name>與Bean的屬性名相同?。?!
 單值參數(shù),也可以使用request.getParameterValues(String)獲取
其實(shí)當(dāng)參數(shù)的值是單個(gè)的時(shí)候,同樣可以使用request.getParameterValues(String)方法來(lái)獲取參數(shù)值,不過(guò)這個(gè)參數(shù)返回的值為String[],這時(shí)我們需要再去獲取數(shù)組下標(biāo)0的元素。

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://m.8y3kgpwe.cn/javaee
0 分享到:
和我們?cè)诰€交談!