欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中request常用方法小結

 更新時間:2014年10月26日 10:22:20   投稿:hebedich  
這篇文章主要介紹了java中request常用方法小結,需要的朋友可以參考下

      HttpServletRequest對象代表客戶端的請求,當客戶端通過HTTP協(xié)議訪問服務器時,HTTP請求頭中的所有信息都封裝在這個對象中,開發(fā)人員通過這個對象的方法,可以獲得客戶這些信息。

request常用方法

一、獲取客戶機環(huán)境信息常見方法

  1.getRequestURL方法返回客戶端發(fā)出請求時的完整URL。

  2.getRequestURI方法返回請求行中的資源名部分。

  3.getQueryString方法返回請求行的參數(shù)部分。

  4.getRemoteAddr方法返回發(fā)出請求的客戶機的IP地址。

  5.getRemoteHost方法返回發(fā)出請求的客戶機的完整主機名。

  6.getRemotePort方法返回客戶機所使用的網(wǎng)絡端口號。

  7.getLocalAddr方法返回WEB服務器的IP地址。

  8.getLocalName方法返回WEB服務器的主機名。

  9.getMethod得到客戶機請求方式。

復制代碼 代碼如下:

 package com.yyz.request;
 
 import java.io.IOException;
 import java.io.OutputStream;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 public class RequestDemo extends HttpServlet {
 
     public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
         /**
          * URL是URI的子集。
          * URI用來標識一個資源。
          * URL用來標識互聯(lián)網(wǎng)上的一個資源。
          */
         System.out.println(request.getRequestURL());//得到請求URL地址
         System.out.println(request.getRequestURI());//得到請求的資源
         System.out.println(request.getQueryString());
         System.out.println(request.getRemoteAddr());//得到來訪者IP
         System.out.println(request.getRemoteHost());
         //由于沒有在dns上注冊所以打印結果還是127.0.0.1,如果是百度訪問這個程序,則打印www.baidu.com
         System.out.println(request.getRemotePort());//得到請求的資源
         System.out.println(request.getMethod());//得到請求的資源
 }
 
     public void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
         doGet(request,response);
 }
 
 }

在瀏覽器地址欄輸入:http://localhost:8080/test/servlet/RequestDemo后后臺輸出入下圖:


二、獲得客戶機請求頭

 1.getHeader(String name)方法

 2.getHeaders(String name)方法

 3.getHeaderNames()方法

復制代碼 代碼如下:

 package com.yyz.request;
 
 import java.io.IOException;
 import java.util.Enumeration;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 //獲取請求頭
 public class RequestDemo extends HttpServlet {
 
     public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
         String head = request.getHeader("Accept-Encoding");
         //有些瀏覽器不支持壓縮數(shù)據(jù)
         if(head.contains("gzip")){
             //輸出壓縮數(shù)據(jù)
         }else{
             //輸出不壓縮數(shù)據(jù)
         }
         //獲取指定名稱的頭的所有值
         Enumeration e = request.getHeaders("Accept-Encoding");
         while(e.hasMoreElements()){
             String value = (String ) e.nextElement();
             System.out.println(value);
         }
         System.out.println("------------------------");
         //獲取所有的頭和值
         e = request.getHeaderNames();
         while(e.hasMoreElements()){
         String name = (String)e.nextElement();
         String     value = request.getHeader(name);
         System.out.println(name+"="+value);
         }
 }
 
     public void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
         doGet(request,response);
 }
 
 }

在瀏覽器訪問該程序,后臺輸出如下:

三、獲得客戶機請求參數(shù)(客戶端提交的數(shù)據(jù)):

 1.getParameter(name)方法

 2.getParameterValues(String name)方法

 3.getParameterNames方法

 4.getParameterMap方法,做框架時大量使用

package com.yyz.request;
 import java.io.IOException;
 import java.util.Enumeration;
 import java.util.Map;
 import java.util.Map.Entry;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 //獲取請求數(shù)據(jù)
 public class RequestDemo extends HttpServlet {
   public void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
     //http://localhost:8080/test/servlet/RequestDemo?name=yyz
     String value = request.getParameter("name");
     System.out .println(value);
     //http://localhost:8080/test/servlet/RequestDemo?like=sing&like=dance
     String likes[] = request.getParameterValues("like");
     if(likes!=null){
       for(String like : likes){
         System.out.println(like);
       }
     }
     //下面是這種遍歷的專業(yè)寫法,獲取數(shù)組數(shù)據(jù)的方式(可避免空指針異常)
     for(int i=0;likes!=null&&i<likes.length;i++){
       System.out.println(likes[i]);
     }
     //獲取所有名稱,并根據(jù)名稱獲取值
     Enumeration e = request.getParameterNames();
     while(e.hasMoreElements()){
       String name = (String) e.nextElement();
       value = request.getParameter(name);
       System.out.println(name+"="+value);
     }
     System.out.println("----------------------");
     //得到request對象中用來封裝數(shù)據(jù)的Map集合
     Map<String,String[]> map = request.getParameterMap();
     for(Entry<String, String[]> me : map.entrySet()){
       String name = me.getKey();
       String [] v = me.getValue();
       System.out.println(name+"="+v[0]);
     }
 } 
   public void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException {
     doGet(request,response);
 }
 }

相關文章

  • JavaSE面試題之this與super關鍵字的區(qū)別詳解

    JavaSE面試題之this與super關鍵字的區(qū)別詳解

    this關鍵字用于引用當前對象的引用,super關鍵字用于引用父類對象的引用,下面這篇文章主要給大家介紹了關于JavaSE面試題之this與super關鍵字區(qū)別的相關資料,需要的朋友可以參考下
    2023-12-12
  • springboot?publish?event?事件機制demo分享

    springboot?publish?event?事件機制demo分享

    這篇文章主要介紹了springboot?publish?event?事件機制demo,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java簡單實現(xiàn)session保存到redis的方法示例

    Java簡單實現(xiàn)session保存到redis的方法示例

    這篇文章主要介紹了Java簡單實現(xiàn)session保存到redis的方法,結合實例形式分析了Java將session存入redis緩存服務器的相關設置、實現(xiàn)技巧與操作注意事項,需要的朋友可以參考下
    2018-05-05
  • Java文件與IO流操作原理詳細分析

    Java文件與IO流操作原理詳細分析

    在java中提供有對于文件操作系統(tǒng)的支持,這個支持在java.io.File類中進行了定義,也就是說在整個java.io包中File類是唯一一個與文件本身操作有關的類(創(chuàng)建,刪除,重命名)有關的類,而如果想要進行File類的操作,我們需要提供有完整的路徑支持,而后可以調用相應的方法進行處理
    2022-09-09
  • SpringCloud重試機制配置詳解

    SpringCloud重試機制配置詳解

    本篇文章主要介紹了SpringCloud重試機制配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • @Configuration保證@Bean單例語義方法介紹

    @Configuration保證@Bean單例語義方法介紹

    這篇文章主要介紹了SpringBoot中的@Configuration與@Bean注解,在進行項目編寫前,我們還需要知道一個東西,就是SpringBoot對我們的SpringMVC還做了哪些配置,包括如何擴展,如何定制,只有把這些都搞清楚了,我們在之后使用才會更加得心應手
    2023-01-01
  • Java?I/O流之打印流詳細使用方法教程

    Java?I/O流之打印流詳細使用方法教程

    java的io是實現(xiàn)輸入和輸出的基礎,可以方便的實現(xiàn)數(shù)據(jù)的輸入和輸出操作,下面這篇文章主要給大家介紹了關于Java?IO流打印流詳細使用的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • Mybatis實現(xiàn)動態(tài)排序方式

    Mybatis實現(xiàn)動態(tài)排序方式

    這篇文章主要介紹了Mybatis實現(xiàn)動態(tài)排序方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • MyBatis-Plus中如何實現(xiàn)動態(tài)表名

    MyBatis-Plus中如何實現(xiàn)動態(tài)表名

    這篇文章主要介紹了MyBatis-Plus中如何實現(xiàn)動態(tài)表名問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • SpringBoot自定義對象參數(shù)實現(xiàn)自動類型轉換與格式化

    SpringBoot自定義對象參數(shù)實現(xiàn)自動類型轉換與格式化

    SpringBoot 通過自定義對象參數(shù),可以實現(xiàn)自動類型轉換與格式化,并可以級聯(lián)封裝,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-09-09

最新評論