「java获取url中」java中怎么获取url中的值
本篇文章给大家谈谈java获取url中,以及java中怎么获取url中的值对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java 获取url 中的参数请问以下代码中的 url地址该怎么写
String
url
=
request.getScheme()+"://";
//请求协议
http
或
https
url+=request.getHeader("host");
//
请求服务器
url+=request.getRequestURI();
//
工程名
if(request.getQueryString()!=null)
//判断请求参数是否为空
url+="?"+request.getQueryString();
//
参数
java怎样获取url参数
如果是javaweb 项目,那么非常简单,直接调用 HttpServletRequest 对象的 .getParamter("参数名称") 方法即可得到。
如果是普通java 项目:
/**
* 获取网址的指定参数值
*
* @param url
* 网址
* @param parameter
* 参数名称
* @author cevencheng
* @return
*/
public static String getParameter(String url, String parameter, String defaultValue) {
try {
final String charset = "utf-8";
url = URLDecoder.decode(url, charset);
if (url.indexOf('?') != -1) {
final String contents = url.substring(url.indexOf('?') + 1);
HashMapString, String map = new HashMapString, String();
String[] keyValues = contents.split("");
for (int i = 0; i keyValues.length; i++) {
String key = keyValues[i].substring(0, keyValues[i].indexOf("="));
String value = keyValues[i].substring(keyValues[i].indexOf("=") + 1);
if (key.equals(parameter)) {
if (value == null || "".equals(value.trim())) {
return defaultValue;
}
return value;
}
map.put(key, value);
}
}
return null;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
java 获取url中是http还是https
先调用 java.net.URL.toURI() 转成 URI
再获取 java.net.URI.getScheme()
示例:
public static void main(String[] args) throws MalformedURLException,URISyntaxException{
URL url = new URL("");
URI uri = url.toURI();
System.out.println(uri.getScheme());
}
结果:
https
java怎么获取url上的参数
解析url,本想用正则表达式处理,但正则表达式速度较慢。用split处理一下就可以了。
package RequestPackage;
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.length1)
{
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.length1)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}
return strAllParam;
}
/**
* 解析出url参数中的键值对
* 如 "index.jsp?Action=delid=123",解析出Action:del,id:123存入map中
* @param URL url地址
* @return url请求参数部分
*/
public static MapString, String URLRequest(String URL)
{
MapString, String mapRequest = new HashMapString, 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.length1)
{
//正确解析
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=delid=123sort=";
//url页面路径
System.out.println(CRequest.UrlPage(str));
//url参数键值对
String strRequestKeyAndValues="";
MapString, 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"));
}
}
关于java获取url中和java中怎么获取url中的值的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-25,除非注明,否则均为
原创文章,转载请注明出处。