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=del&id=123",解析出Action:del,id:123存入map中 * @param URL url地址 * @return url請求參數部分 */ public static Map<String, String> URLRequest(String URL) { Map<String, String> mapRequest = new HashMap<String, String>(); String[] arrSplit=null; String strUrlParam=TruncateUrlPage(URL); if(strUrlParam==null) { return mapRequest; } //每一個鍵值爲一組 www.2cto.com 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=del&id=123&sort="; //url頁面路徑 System.out.println(CRequest.UrlPage(str)); //url參數鍵值對 String strRequestKeyAndValues=""; Map<String, 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