假设我不关心这方面的安全性,客户端计算机调用 url:
myurl.com/file.ext?Param1=value¶m2=value2¶m3=value3
然后我想做一个简单的插入数据库
Insert into myDB(Col1, Col2, Col3)VALUES(Param1, Param2, Param3)
我将对输入进行自己的字符剥离,我只是找不到任何关于如何做到这一点的简洁内容。
假设我不关心这方面的安全性,客户端计算机调用 url:
myurl.com/file.ext?Param1=value¶m2=value2¶m3=value3
然后我想做一个简单的插入数据库
Insert into myDB(Col1, Col2, Col3)VALUES(Param1, Param2, Param3)
我将对输入进行自己的字符剥离,我只是找不到任何关于如何做到这一点的简洁内容。
见 URL.getQuery() 会返回 url 的查询部分,然后使用这个方法
URl u = new URL("myurl.com/file.ext?Param1=value¶m2=value2¶m3=value3");
Map<String, String> params = getQueryMap(u.getQuery());
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[] parts = param.split("=");
String name = parts[0];
String value = parts[1];
map.put(name, value);
}
return map;
}
现在您将拥有地图中的所有参数,可以访问。使用JDBC格式化并执行查询。
String s = "myurl.com/file.ext?Param1=value¶m2=value2¶m3=value3";
int index = s.indexOf("Param1");
String ss = s.substring(index);
String[] arr = ss.split("&");
for(int i=0; i < arr.length; i++){
String[] value= arr[i].split("=");//value[i] will be value i+1th value
}