最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

HttpServletRequest對象簡介_動力節(jié)點Java學(xué)院整理

 更新時間:2017年07月25日 10:32:24   作者:fjdingsd  
這篇文章主要為大家詳細介紹了HttpServletRequest對象簡介的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

通過getMethod方法獲得的是客戶端訪問該web應(yīng)用的Http請求方式。

代碼和結(jié)果如下:

String requestMethod = request.getMethod();
System.out.println(requestMethod); 

想獲取客戶端發(fā)來的HTTP請求頭中的內(nèi)容可以使用如下方法:

getDateHeader()

getHeader(String)

getHeaderNames()

getHeaders(String)

getIntHeader(String);

這些方法在各個特定的情況下能有不同的用途,體現(xiàn)出獲取客戶端請求頭方式的多樣性。

如通過getHeader(String)可以獲取指定請求頭的數(shù)據(jù)內(nèi)容:

String connectionState = request.getHeader("Connection");
System.out.println(connectionState);

而通過getHeaderNames()可以獲取發(fā)送的所有請求頭,例:

Enumeration e = request.getHeaderNames();
 while(e.hasMoreElements()) {
    String headerName = (String) e.nextElement();
    String headerValue = request.getHeader(headerName);
    System.out.println(headerName+":"+headerValue);
 }

而通過getHeaders(String)方法獲取的是某個同名頭的內(nèi)容,適用于當(dāng)某個請求頭有多個內(nèi)容時使用。

介紹完獲取請求行和請求頭,下面介紹獲取請求數(shù)據(jù)中內(nèi)容的方法:

getPatameter(String)

getParameterNames()

getParameterValues(String)

getParameterMap()

和getInputStream()

使用getPatameter(String)方式可以獲取請求數(shù)據(jù)中指定的數(shù)據(jù)值

代碼如下:

String value = request.getParameter("username");
System.out.println(value);

??梢栽跒g覽器地址URL后直接寫入?yún)?shù)數(shù)據(jù)來模擬GET方式:

最終在控制臺得到:

通過getParameterNames()可以獲取多個參數(shù):

Enumeration e = request.getParameterNames();
 while(e.hasMoreElements()) {
  String paramName = (String)e.nextElement();
  String paramValue = request.getParameter(paramName);
  System.out.println(paramName+":"+paramValue);
 }

使用getParameterValues(String)有助于獲取當(dāng)請求數(shù)據(jù)參數(shù)名有相同時的情況:

比如下面這種情況:

代碼:

String[] values = request.getParameterValues("username");
  for(int i=0;i<values.length;i++) {
   System.out.println(values[i]);
  }

在控制臺觀察:

  

(注意:像getPatameter(String)、getParameterValues(String)等等這樣的方法,都要小心空指針異常,可能的原因在于并沒有這樣的參數(shù),還有一種就是在URL后沒有任何參數(shù)傳入,所以要特別注意,應(yīng)該加入健壯性判斷。這也是編程過程中會碰到傳入?yún)?shù)都應(yīng)該注意的問題。)

使用getParameterMap()可以獲取以請求數(shù)據(jù)中參數(shù)和參數(shù)值作為的鍵值對的Map集合。這樣我們就能同時獲取鍵值對。假設(shè)有如下情況:

代碼為:

Map<String,String[]> map = request.getParameterMap();
  for(Map.Entry<String, String[]> entry :map.entrySet()) {
  String paramName = entry.getKey();
  for(int i=0;i<entry.getValue().length;i++){
   String paramValue = entry.getValue()[i];
   System.out.println(paramName+":"+paramValue);
  }
 }

如果請求數(shù)據(jù)參數(shù)為:

那么在控制臺上看到的則是:

以上說明了常用的獲取數(shù)據(jù)的方式,還有一種屬于request響應(yīng)對象的getInutStream方法,而這個方法一般只用于大容量的數(shù)據(jù)獲取,比如文件上傳,將在之后的篇章中介紹。

下面介紹其他常用方法

通過getRequestURI方法和getRequestURL可以獲取http請求服務(wù)器資源的URI和URL,關(guān)于URI和URL的區(qū)別可以通過獲取后的字符串來查看:

代碼:

String fileURI = request.getRequestURI();
System.out.println("URI: "+fileURI);

StringBuffer fileURL = request.getRequestURL();
System.out.println("URL: "+fileURL.toString());

訪問該Servlet,得到:

可以看出URI只包括在服務(wù)器中的web應(yīng)用名和資源對外訪問路徑(虛擬目錄)。

通過getQueryString()方法可以獲取URL上由GET方式帶來的參數(shù):

若代碼為:

System.out.println(request.getQueryString());

而我在訪問這個Servlet的URL上添加:“?username=fjdingsd&password=123”:

那么當(dāng)訪問這個Servlet之后,在MyEclipse的控制臺將看到:

通過getRemoteAddr方法可以獲取訪問該web應(yīng)用的客戶端IP地址。

代碼:

System.out.println(request.getRemoteAddr());

而通過getRemoteHost方法獲取的是訪問該web應(yīng)用的客戶端主機名,如果沒有在DNS服務(wù)器上注冊的則是獲取IP地址。這里說的主機名是指在DNS上注冊的,比如www.baidu.com,那么通過該方法如果從該主機上來訪問,則獲取到的是:baidu.com。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 關(guān)于Mysql的四種存儲引擎

    關(guān)于Mysql的四種存儲引擎

    這篇文章主要介紹了關(guān)于Mysql的四種存儲引擎,MySql的核心就是存儲引擎,不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎,還可以 獲得特定的功能,需要的朋友可以參考下
    2023-05-05
  • Spring Cloud Config實現(xiàn)分布式配置中心

    Spring Cloud Config實現(xiàn)分布式配置中心

    這篇文章主要介紹了Spring Cloud Config實現(xiàn)分布式配置中心,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Java編程實現(xiàn)計算兩個日期的月份差實例代碼

    Java編程實現(xiàn)計算兩個日期的月份差實例代碼

    這篇文章主要介紹了Java編程實現(xiàn)計算兩個日期的月份差實例代碼,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • SpringBoot整合JWT的實現(xiàn)示例

    SpringBoot整合JWT的實現(xiàn)示例

    JWT是目前比較流行的跨域認證解決方案,本文主要介紹了SpringBoot整合JWT的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • SpringBoot服務(wù)設(shè)置禁止server.point端口的使用

    SpringBoot服務(wù)設(shè)置禁止server.point端口的使用

    本文主要介紹了SpringBoot服務(wù)設(shè)置禁止server.point端口的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • java 發(fā)送帶Basic Auth認證的http post請求實例代碼

    java 發(fā)送帶Basic Auth認證的http post請求實例代碼

    下面小編就為大家?guī)硪黄猨ava 發(fā)送帶Basic Auth認證的http post請求實例代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • Java虛擬機JVM性能優(yōu)化(二):編譯器

    Java虛擬機JVM性能優(yōu)化(二):編譯器

    這篇文章主要介紹了Java虛擬機JVM性能優(yōu)化(二):編譯器,本文先是講解了不同種類的編譯器,并對客戶端編譯,服務(wù)器端編譯器和多層編譯的運行性能進行了對比,然后給出了幾種常見的JVM優(yōu)化方法,需要的朋友可以參考下
    2014-09-09
  • SpringMVC自定義消息轉(zhuǎn)換器的使用其實很簡單

    SpringMVC自定義消息轉(zhuǎn)換器的使用其實很簡單

    這篇文章主要介紹了SpringMVC自定義消息轉(zhuǎn)換器的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java 函數(shù)編程詳細介紹

    Java 函數(shù)編程詳細介紹

    這篇文章主要介紹了Java函數(shù)式編程,lambda表達式可以被認為是一個匿名函數(shù),可以在函數(shù)接口的上下文中使用。函數(shù)接口是只指定一個抽象方法的接口,下面來看文章的詳細內(nèi)容,需要的朋友可以參考下
    2021-11-11
  • java1.8安裝及環(huán)境變量配置教程

    java1.8安裝及環(huán)境變量配置教程

    這篇文章主要介紹了java1.8安裝及環(huán)境變量配置,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10

最新評論

潼关县| 若尔盖县| 平山县| 新源县| 彭水| 武川县| 西城区| 富裕县| 梅河口市| 望城县| 常州市| 综艺| 安宁市| 金川县| 徐汇区| 栾城县| 思茅市| 湘潭县| 晋城| 永福县| 望都县| 宜章县| 柳林县| 桃江县| 阜康市| 长乐市| 包头市| 新化县| 牟定县| 康马县| 天长市| 凤翔县| 芜湖县| 错那县| 无为县| 柘城县| 贺州市| 江口县| 广河县| 辉南县| 扶余县|