「java处理url」java处理url参数重复

博主:adminadmin 2022-12-04 06:36:06 86

今天给各位分享java处理url的知识,其中也会对java处理url参数重复进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java怎么处理url里面的特殊字符

这个过程叫转义。

val = "@123+abc%AB";

val = encodeURIComponent(val);

...

java:

String s = new String(request.getParameter("val").getBytes("ISO8859-1"), "UTF-8");

在数据库保存时,只要转义单引号,,| ,?,可能还有遇到再补充吧

java短信的url怎么处理中文乱码怎么处理

1、在客户端用escape(encodeURIComponent(fieldValue))方法编码,例如:

复制代码代码如下:

title=escape(encodeURIComponent(title)); //这是js里的函数

url="%=request.getContextPath()%/print/printList!printTable.action?title="+title;

2、在服务端用java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8"),进行解码。

-----------------------------------------------------------------------------

parent.window.location.href 和 iframe中src的乱码问题。

要在这两个url地址中传中文,必须加编码,然后再解码。

编码:encodeURI(encodeURI("包含中文的串"))

解码:java.net.URLDecoder.decode("需要解码的串","utf-8");

java解析出url请求的路径和参数键值对类

解析url,本想用正则表达式处理,但正则表达式速度较慢。用split处理一下就可以了。

 

package RequestPackage;

import java.util.HashMap;

import java.util.Map;

public class CRequest {

    /**

     * 解析出url请求的路径,包括页面

     * @param strURL url地址

     * @return url路径

     */

    public static String UrlPage(String strURL)

    {

    String strPage=null;

      String[] arrSplit=null;

     

      strURL=strURL.trim().toLowerCase();

     

      arrSplit=strURL.split("[?]");

      if(strURL.length()0)

      {

          if(arrSplit.length1)

          {

                  if(arrSplit[0]!=null)

                  {

                  strPage=arrSplit[0];

                  }

          }

      }

     

    return strPage;   

    }

    /**

     * 去掉url中的路径,留下请求参数部分

     * @param strURL url地址

     * @return url请求参数部分

     */

    private static String TruncateUrlPage(String strURL)

    {

    String strAllParam=null;

      String[] arrSplit=null;

     

      strURL=strURL.trim().toLowerCase();

     

      arrSplit=strURL.split("[?]");

      if(strURL.length()1)

      {

          if(arrSplit.length1)

          {

                  if(arrSplit[1]!=null)

                  {

                  strAllParam=arrSplit[1];

                  }

          }

      }

     

    return strAllParam;   

    }

    /**

     * 解析出url参数中的键值对

     * 如 "index.jsp?Action=delid=123",解析出Action:del,id:123存入map中

     * @param URL  url地址

     * @return  url请求参数部分

     */

    public static MapString, String URLRequest(String URL)

    {

    MapString, String mapRequest = new HashMapString, String();

   

      String[] arrSplit=null;

     

    String strUrlParam=TruncateUrlPage(URL);

    if(strUrlParam==null)

    {

        return mapRequest;

    }

      //每个键值为一组 

    arrSplit=strUrlParam.split("[]");

    for(String strSplit:arrSplit)

    {

          String[] arrSplitEqual=null;         

          arrSplitEqual= strSplit.split("[=]");

         

          //解析出键值

          if(arrSplitEqual.length1)

          {

              //正确解析

              mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);

             

          }

          else

          {

              if(arrSplitEqual[0]!="")

              {

              //只有参数没有值,不加入

              mapRequest.put(arrSplitEqual[0], "");       

              }

          }

    }   

    return mapRequest;   

    }

   

}

 

测试类

 

 

package RequestPackage;

import java.util.Map;

public class TestCRequest {

    /**用于测试CRequest类

     * @param args

     */

    public static void main(String[] args) {

    // 请求url

        String str = "index.jsp?Action=delid=123sort=";    

       

        //url页面路径

        System.out.println(CRequest.UrlPage(str));

       

        //url参数键值对

        String strRequestKeyAndValues="";       

        MapString, String mapRequest = CRequest.URLRequest(str);

       

        for(String strRequestKey: mapRequest.keySet()) {

            String strRequestValue=mapRequest.get(strRequestKey);

            strRequestKeyAndValues+="key:"+strRequestKey+",Value:"+strRequestValue+";";           

          

        }

        System.out.println(strRequestKeyAndValues);

       

        //获取无效键时,输出null

        System.out.println(mapRequest.get("page"));

    }

}

 

 

测试代码运行效果

 

index.jsp

key:id,Value:123;key:sort,Value:;key:action,Value:del;

null

java处理url数据

您好,提问者:

    GET xxx HTTP/1.1首先这是固定的,如果是get方式提交的话,那么第一行必定是这个。

可以通过readLine()读取第一行,如下代码:

    //这样获取的是get提交的数组,空格分割

    String[] getTitle = xx.readLine().split(" +");

    String getParam = getTitle[1]; //1中的内容就是/?mac=adsfaeadsf

java如何将字符串转化为URL

将字符串转换成URL可以使用创建一个URL对象,并将字符串赋给这个URL对象。

参考代码如下:

String str = "填写字符串的链接地址";

try {

URL url = new URL(str);

} catch (MalformedURLException e) {

e.printStackTrace();

}

注意,创建URL对象会有异常,所以使用try处理抛出的异常。

JAVA如何处理URL中的特殊字符

这个过程叫转义。

val = "@123+abc%AB";

val = encodeURIComponent(val);

...

java:

String s = new String(request.getParameter("val").getBytes("ISO8859-1"), "UTF-8");

在数据库保存时,只要转义单引号,,| ,?,可能还有遇到再补充吧

关于java处理url和java处理url参数重复的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-04,除非注明,否则均为首码项目网原创文章,转载请注明出处。