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才可以)
  • 相关阅读:
    hlgoj 1766 Cubing
    Reverse Linked List
    String to Integer
    Bitwise AND of Numbers Range
    Best Time to Buy and Sell Stock III
    First Missing Positive
    Permutation Sequence
    Next Permutation
    Gray Code
    Number of Islands
  • 原文地址:https://www.cnblogs.com/pxblog/p/14484810.html
Copyright © 2011-2022 走看看