国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java中request常用方法小結

2019-11-26 15:22:57
字體:
來源:轉載
供稿:網友

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

request常用方法

一、獲取客戶機環境信息常見方法

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

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

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

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

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

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

  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用來標識互聯網上的一個資源。
          */
         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");
         //有些瀏覽器不支持壓縮數據
         if(head.contains("gzip")){
             //輸出壓縮數據
         }else{
             //輸出不壓縮數據
         }
         //獲取指定名稱的頭的所有值
         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);
 }
 
 }

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

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

 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; //獲取請求數據 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);       }     }     //下面是這種遍歷的專業寫法,獲取數組數據的方式(可避免空指針異常)     for(int i=0;likes!=null&&i<likes.length;i++){       System.out.println(likes[i]);     }     //獲取所有名稱,并根據名稱獲取值     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對象中用來封裝數據的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); } }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三原县| 太和县| 松滋市| 朝阳县| 华蓥市| 陈巴尔虎旗| 宝鸡市| 瓮安县| 汉源县| 通渭县| 商都县| 明水县| 咸宁市| 临潭县| 松原市| 普陀区| 苗栗市| 榕江县| 徐汇区| 綦江县| 潜江市| 唐山市| 淳安县| 政和县| 称多县| 建德市| 通江县| 沽源县| 木兰县| 萝北县| 巴彦淖尔市| 云阳县| 大理市| 常德市| 泰来县| 渝北区| 塘沽区| 和顺县| 绥江县| 沙雅县| 靖江市|