有时候我们需要在Java中解析URL,但是又用不了JSP里的那一套东西。
这个函数能把URL里的GET参数放到对应的HashMap中,并且用异常处理,比较实用。
public static Map<String, List<String>> getQueryParams(String url) {
try {
Map<String, List<String>> params = new HashMap<String, List<String>>();
String[] urlParts = url.split("\\?");
if (urlParts.length > 1) {
String query = urlParts[1];
for (String param : query.split("&")) {
String[] pair = param.split("=");
String key = URLDecoder.decode(pair[0], "UTF-8");
String value = "";
if (pair.length > 1) {
value = URLDecoder.decode(pair[1], "UTF-8");
}
List<String> values = params.get(key);
if (values == null) {
values = new ArrayList<String>();
params.put(key, values);
}
values.add(value);
}
}
return params;
} catch (UnsupportedEncodingException ex) {
throw new AssertionError(ex);
}
}
本文提供了一个实用的Java函数,能够将URL中的GET参数解析并存入HashMap中。该函数使用异常处理来确保运行时的稳定性。
1179

被折叠的 条评论
为什么被折叠?



