「java获取url中」java中怎么获取url中的值

博主:adminadmin 2022-12-25 18:51:07 71

本篇文章给大家谈谈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中的值的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。