• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    java解析出url请求的路径和参数键值对类(解析出url请求的路径,包括页面)
    POST TIME:2021-10-18 07:49
    复制代码 代码如下:

    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.length>1)
    {
    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.length>1)
    {
    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.length>1)
    {
    //正确解析
    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根据方法名称取得反射方法的参数类型示例
    • Java获取代码中方法参数名信息的方法
    • java向多线程中传递参数的三种方法详细介绍
    • Java如何实现URL带请求参数(get/post)及得到get和post请求url和参数列表的方法
    • java eclipse 启动参数
    • Java方法的可变参数类型实例分析
    • javascritp添加url参数将参数加入到url中
    • Java方法参数是引用调用还是值调用?
    • Java 8中如何获取参数名称的方法示例
    上一篇:java+sql2005 随机抽取试题的代码
    下一篇:JSP 不能解析EL表达式的解决办法
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信