Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建URL和添加参数的正确方法是什么?_Java_Url_Uri - Fatal编程技术网

Java 创建URL和添加参数的正确方法是什么?

Java 创建URL和添加参数的正确方法是什么?,java,url,uri,Java,Url,Uri,我一直在使用java.net.URL类,现在需要向URL对象变量添加参数。我已经看到了许多添加参数的方法,例如字符串连接或创建新的URL对象,以及将所需的参数传递给URL类构造函数。但我也看到了UriBuilder和其他创建URL或URI的方法,以及后来向它们添加参数的方法。在java中构造URL以稍后添加参数的正确方法是什么 我一直以来的懒散做法如下: String url = "http://www.site.com/"; url += "?"; url += "param1=" + 1;

我一直在使用java.net.URL类,现在需要向URL对象变量添加参数。我已经看到了许多添加参数的方法,例如字符串连接或创建新的URL对象,以及将所需的参数传递给URL类构造函数。但我也看到了UriBuilder和其他创建URL或URI的方法,以及后来向它们添加参数的方法。在java中构造URL以稍后添加参数的正确方法是什么

我一直以来的懒散做法如下:

String url = "http://www.site.com/";
url += "?";
url += "param1=" + 1;
url += "&";
url += "param2=" + 2;

URL url = new URL(url);
这是向URL添加参数的最佳方法吗?有更好的办法吗

谢谢,
这是java中使用URL的标准格式

URL(URL baseURL, String relativeURL)

String baseURL= "http://www.site.com/";
使用StringBuilder或基于参数的字符串形成relativeURL


另一种方法是使用第三方库。

如果您对使用外部库没有任何限制,我建议添加

以下是一个例子:

    URIBuilder builder = new URIBuilder("http://google.com/search");
    builder.addParameter("q","web apps");
    System.out.println(builder.build().toString()); //outputs http://google.com/search?q=web+apps

第三方库做得更好。您还需要对内容进行url编码。此外,在参数之间缺少一个
&
。这是第三方LIB做得更好的事情。他们是经过考验的。查看
SpringWeb
,这可能有些过分,但为此提供了一个很好的
UriComponentsBuilder
类。没错,我刚刚编辑了错误。我将查看一些第三方。你能提供什么链接?