獲取URL中附帶的請求參數的方式


在進行請求的時候,通常的方式是:request.getParametere("param");來獲得我們想要的一些參數,

但是在現實的生活中我們需要自定義一些URL格式的請求參數,對這些格式的請求參數可能通過request.getParameter("param")

就不是十分的合適。

下面我們以http://www.yongit.com/device/md5/44CF9590006BF252F707?firstParam=gHdg5pU48rHTDknJ&secondParam=1141889120&thirdParam=vjbyPxybdZaNmGa%2ByT272YEAiv4%3D

為例進行自我解析URL中的帶有的一些參數。

具體的方法格式如下:

Map url_queryparams  = new HashMap();

String querystring = request.getQueryString();
while(querystring!=null && querystring.length()>0){
  String querydata = "";
  int queryindex = querystring.indexOf('&');
  if(queryindex>0){
    querydata = querystring.substring(0, queryindex);
    querystring = querystring.substring(queryindex+1);
  }else{
    querydata = querystring;
    querystring = "";
  }
  if(querydata==null || querydata.length()==0)
    continue;
  int paramindex = querydata.indexOf('=');
  if(paramindex<=0)
    continue;

  String paramkey = querydata.substring(0, paramindex);
  String paramvalue = querydata.substring(paramindex+1);

  if(paramvalue==null || paramvalue.length()==0){
    //該參數值為空, 忽略它
    continue;
  }
  if(PARAM_AccessKey.equals(paramkey) || PARAM_Signature.equals(paramkey) || PARAM_Expires.equals(paramkey)){
    //請求的參數, 添加到Map中
    url_queryparams.put(paramkey, paramvalue);
  }
}

 

以上是對該需求進行處理的主題方法,對具體的業務,可以進行適當的修正,以滿足自己的需求。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM