zoukankan      html  css  js  c++  java
  • JAVA从URL参数链接中获取指定参数的值

    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * @author yvioo
     */
    public class UrlUtils {
    
        /**
         * 获取请求地址中的某个参数
         * @param url
         * @param name
         * @return
         */
        public static String getParam(String url, String name) {
            return urlSplit(url).get(name);
        }
    
        /**
         * 去掉url中的路径,留下请求参数部分
         * @param url url地址
         * @return url请求参数部分
         */
        private static String truncateUrlPage(String url) {
            String strAllParam = null;
            String[] arrSplit = null;
            url = url.trim().toLowerCase();
            arrSplit = url.split("[?]");
            if (url.length() > 1) {
                if (arrSplit.length > 1) {
                    for (int i = 1; i < arrSplit.length; i++) {
                        strAllParam = arrSplit[i];
                    }
                }
            }
            return strAllParam;
        }
    
        /**
         * 将参数存入map集合
         * @param url  url地址
         * @return url请求参数部分存入map集合
         */
        public static Map<String, String> urlSplit(String url) {
            Map<String, String> mapRequest = new HashMap<String, 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;
        }
    
    
    }

    调用

     @RequestMapping("/getParam")
        @ResponseBody
        public String getParam(HttpServletRequest request){
            return UrlUtils.getParam("http://localhost:8081/getParam?x=1&value=2&time=3","x");
        }
    -----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------ (蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)
  • 相关阅读:
    共用体类型,结构体类型
    动态内存分配与指向它的指针变量
    向上转型,向下转型
    枚举类型中的构造方法、成员方法
    由setTimeout()里的this引出的this
    eclipse快捷键
    js中运算符的优先级
    关于js闭包杂记
    sublime在Mac osx下安装z-codeing(即emmet)
    利用js得到某个范围内的整数随机数
  • 原文地址:https://www.cnblogs.com/pxblog/p/14484810.html
Copyright © 2011-2022 走看看