Java 1.6和URIBuilder

时间:2013-07-16 17:13:23

标签: java apache uri uribuilder

使用Apache URIBuilder构建此示例有一种干净的方法吗?

"http://host/path", passing "path2" -> "http://host/path/path2"
"http://host/path", passing "/path2" -> "http://host/path2"

“resolve”方法不起作用,它总是返回:

http://host/path2

感谢。

1 个答案:

答案 0 :(得分:1)

你应该在你的baseurl上添加一个尾部斜杠。

new java.net.URI("http://host/path/").resolve("path2");  // http://host/path/path2
new java.net.URI("http://host/path/").resolve("/path2"); // http://host/path2

如果没有尾部斜杠path,则不会将其作为目录处理。如果您解决绝对或相对path2而无关紧要,因为它们是针对host/

解决的