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

全國咨詢/投訴熱線:400-618-4000

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

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

1 HttpServletRequest獲取參數(shù)方法
可以使用HttpServletRequest獲取客戶端的請求參數(shù),相關(guān)方法如下:
  • String getParameter(String name):通過指定名稱獲取參數(shù)值;
  • String[] getParameterValues(String name):通過指定名稱獲取參數(shù)值數(shù)組,有可能一個名字對應(yīng)多個值,例如表單中的多個復(fù)選框使用相同的name時;
  • Enumeration getParameterNames():獲取所有參數(shù)的名字;
  • Map getParameterMap():獲取所有參數(shù)對應(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>
 
無論是GET還是POST,獲取參數(shù)的方法是相同的。
String s1 = request.getParameter(“p1”);//返回v1
String s2 = request.getParameter(“p2”);//返回v2
3 多值參數(shù)
例如在注冊表單中,如果讓用戶填寫愛好,那么愛好可能就是多個。那么hobby參數(shù)就會對應(yīng)多個值:
4 獲取所有參數(shù),并封裝到Map中
  request.getParameterMap()方法返回Map類型,對應(yīng)所有參數(shù)。其中Map的key對應(yīng)參數(shù)的名字;Map的value對應(yīng)參數(shù)的值。
5 BeanUtils:使用Map創(chuàng)建Bean實(shí)例
我們知道,可以使用Map來創(chuàng)建Bean實(shí)例,我們也知道,可以把表單數(shù)據(jù)封裝到Map中返回。這樣我們就可以通過BeanUtils把表單數(shù)據(jù)封裝成Bean實(shí)例了。但要注意的是,必須要創(chuàng)建表單中參數(shù)的名稱<name>與Bean的屬性名相同?。?!
 單值參數(shù),也可以使用request.getParameterValues(String)獲取
其實(shí)當(dāng)參數(shù)的值是單個的時候,同樣可以使用request.getParameterValues(String)方法來獲取參數(shù)值,不過這個參數(shù)返回的值為String[],這時我們需要再去獲取數(shù)組下標(biāo)0的元素。

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