【问题标题】:Parsing a requestUrl in Java在 Java 中解析 requestUrl
【发布时间】:2011-05-13 21:01:38
【问题描述】:

我有一个请求 URL,我需要解析该 URL 并且必须修改它

EG :如果我有类似的请求 URL http://www.xyz.com/?a=b&c=d

现在我需要在重定向到此 URL 之前将 c 或 a 的值修改为其他值 我怎样才能做到这一点。

谢谢, 阿什什

【问题讨论】:

标签: java url-rewriting


【解决方案1】:

你可以这样做:

 public static Map<String, String> getQueryMap(String query)
    {
        String[] params = query.split("&");
        Map<String, String> map = new HashMap<String, String>();
        for (String param : params)
        {
            String name = param.split("=")[0];
            String value = param.split("=")[1];
            map.put(name, value);
        }
        return map;
    }

    String query = url.getQuery();  
    Map<String, String> map = getQueryMap(query);  
    Set<String> keys = map.keySet();  
    for (String key : keys)  
    {  
       System.out.println("Name=" + key);  
       System.out.println("Value=" + map.get(key));  
    }  

【讨论】:

  • 这样看起来不错,我可以修改该 URL 的内容。但是我怎样才能再次从该地图中获取具有修改值的 URL
【解决方案2】:

调用 request.getParameterMap 并遍历查询字符串键并替换为所需的内容

【讨论】:

    猜你喜欢
    • 2010-12-05
    • 2011-04-23
    • 2012-02-26
    • 2016-10-31
    • 2015-09-24
    • 2018-05-11
    • 2023-03-30
    相关资源
    最近更新 更多