相关疑难解决方法(0)

在Java中组合URL或URI的惯用方法是什么?

如何在Java中构建URL或URI?是否有惯用的方式,或者很容易做到这一点的库?

我需要允许从请求字符串开始,解析/更改各种URL部分(方案,主机,路径,查询字符串)并支持添加和自动编码查询参数.

java url

111
推荐指数
6
解决办法
7万
查看次数

从String创建URL

这是一个非常基本的问题.但我无法在Java文档中找到答案,也无法测试它,因为我不知道这种方法是否存在.

我可能会收到一个URL字符串

http://www.example1.com

要么

http://www.example1.com/

然后我将获得可能开始的资源路径/api/v1/status.xml或者它会是什么样的api/v1/status.xml

我正在查看URL类,我可以处理第一部分,即获取hostURL以使其成为HTTPS或HTTP请求.问题是附加资源路径.要么我必须手动检查它是否是第一个字母/.我想知道这个功能是否已经在某个类中.

java url http

36
推荐指数
1
解决办法
10万
查看次数

有没有正确的方法来构建URL?

在我使用的大部分代码中都有可怕的东西,比如:

String url = "../Somewhere/SomeServlet?method=AMethod&id="+object.getSomething()+ "&aParam="+object.getSomethingElse());
Run Code Online (Sandbox Code Playgroud)

或者 - 更糟糕的是:

String url = "Somewhere/Here/Something.jsp?path="+aFile.toString().replace("\\","/")+ "&aParam="+object.getSomethingElse());
Run Code Online (Sandbox Code Playgroud)

有没有正确的方法:

  1. 创建一个新URL(或者它是一个URI).
  2. 添加正确的转义参数.
  3. 在这些参数中添加格式正确的文件路径.
  4. 将其解析为String.

从本质上讲 - 构建字符串要比正确地完成字符串要容易得多.有没有办法正确地做到这一点就像建立字符串一样简单?

添加

为了清楚起见 - 经过一番思考 - 我想我正在寻找类似的东西:

String s = new MyThing()
    .setPlace("Somewhere/Something.jsp")
    .addParameter(aName,aValue)
    .addParameter(aName,aFile)
    .toString();
Run Code Online (Sandbox Code Playgroud)

因此它将处理转义的所有不愉快并添加"?"/"&"并将"\"更改为"/"而不是使用"\"作为文件等.

如果我必须自己编写一个(即如果Apache不是一个选项),那么有真正的Java技术可以正确地转义各个部分.我的意思是在参数中将""转换为"".而逃避""在其他地方"%20".

java url uri

30
推荐指数
3
解决办法
5万
查看次数

是否有一个Java方法将参数集合编码为URL查询组件?

是否有一个广泛使用的Java库,它执行类似dojo.objectToQuery()的操作?例如(假设使用HttpCore的HttpParams对象,但任何键值映射都会这样做):

HttpParams params = new BasicHttpParams()
    .setParameter("foo", "bar")
    .setParameter("thud", "grunt");
UnknownLibrary.toQueryString(params);
Run Code Online (Sandbox Code Playgroud)

应该产生"foo = bar&thud = grunt".

我知道写起来并不难,但似乎应该已经写好了.我找不到它.

java url encoding http

7
推荐指数
3
解决办法
5083
查看次数

标签 统计

java ×4

url ×4

http ×2

encoding ×1

uri ×1