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

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

Java培訓(xùn)之HttpServletRequest基本功能

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

HttpServletRequest基本功能
1 HttpServletRequest的功能
HttpServletRequest在JavaWeb中非常重要的一個(gè)類。它是Servlet的service()方法的參數(shù)之一!所以你必須必須要掌握它!
request的功能可以分為以下幾種:

  • 封裝了請(qǐng)求頭數(shù)據(jù);
  • 封裝了請(qǐng)求正文數(shù)據(jù),如果是GET請(qǐng)求,那么就沒(méi)有正文;
  • request是一個(gè)域?qū)ο螅梢园阉?dāng)成Map來(lái)添加獲取數(shù)據(jù);
  • request提供了請(qǐng)求轉(zhuǎn)發(fā)和請(qǐng)求包含功能。
 
2 request獲取請(qǐng)求頭數(shù)據(jù)
String value = request.getHeader(“請(qǐng)求頭名稱”);
request對(duì)象可以用來(lái)獲取請(qǐng)求頭數(shù)據(jù),當(dāng)然,這些請(qǐng)求數(shù)據(jù)都是Tomcat封裝到request中去的。我們?cè)趕ervice()方法中可以直接來(lái)獲取!
request與請(qǐng)求頭相關(guān)的方法有:

  • String getHeader(String name):獲取指定名稱的請(qǐng)求頭;
  • Enumeration getHeaderNames():獲取所有請(qǐng)求頭名稱;
  • int getIntHeader(String name):獲取值為int類型的請(qǐng)求頭。
3 request獲取請(qǐng)求相關(guān)的其它方法
request中還提供了與請(qǐng)求相關(guān)的其他方法,有些方法是為了我們更加便捷的方法請(qǐng)求頭數(shù)據(jù)而設(shè)計(jì),有些是與請(qǐng)求URL相關(guān)的方法。
  • int getContentLength():獲取請(qǐng)求正文的字節(jié)數(shù),GET請(qǐng)求沒(méi)有正文,沒(méi)有正文返回-1;
  • String getContentType():獲取請(qǐng)求類型,如果請(qǐng)求是GET,那么這個(gè)方法返回null;如果是POST請(qǐng)求,那么默認(rèn)為application/x-www-form-urlencoded,其它類型以后再學(xué);
  • String getMethod():返回請(qǐng)求方法,例如:GET
  • Locale getLocale():返回當(dāng)前客戶端瀏覽器支持的Locale。java.util.Locale表示國(guó)家和言語(yǔ),這個(gè)東西在國(guó)際化中很有用;
  • String getCharacterEncoding():獲取請(qǐng)求編碼,如果沒(méi)有setCharacterEncoding(),那么返回null。表示使用ISO-8859-1編碼;
  • void setCharacterEncoding(String code):設(shè)置請(qǐng)求編碼,只對(duì)正文有效!注意,對(duì)于GET而言,沒(méi)有正文?。?!所以此方法只能對(duì)POST請(qǐng)求中的參數(shù)有效!
  • String getContextPath():返回上下文路徑,例如:/hello
  • String getQueryString():返回請(qǐng)求URL中的參數(shù),例如:name=zhangSan
  • String getRequestURI():返回請(qǐng)求URI路徑,例如:/hello/oneServlet
  • StringBuffer getRequestURL():返回請(qǐng)求URL路徑,例如:http://localhost/hello/oneServlet,即返回除了參數(shù)以外的路徑信息;
  • String getServletPath():返回Servlet路徑,例如:/oneServlet
  • String getRemoteAddr():返回當(dāng)前客戶端的IP地址;
  • String getRemoteHost():返回當(dāng)前客戶端的主機(jī)名,但這個(gè)方法的實(shí)現(xiàn)還是獲取IP地址;
  • int getRemotePort():返回客戶端的端口號(hào),每次請(qǐng)求都會(huì)變;
  • String getSchema():返回請(qǐng)求協(xié)議,例如:http;
  • String getServerName():返回主機(jī)名,例如:localhost
  • int getServerPort():返回服務(wù)器端口號(hào),例如:80
4 request.getRemoteAddr():封IP
  可以使用request.getRemoteAddr()方法獲取客戶端的IP地址,然后判斷IP是否為禁用IP。這種方式可以很方便的對(duì)多次密碼的用戶處理。remote 遠(yuǎn)程


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