用于常见URL / URI操作的标准Java类

时间:2011-05-06 15:30:33

标签: java

之前几乎肯定已经提出过这个问题,但无论如何我都会问它,因为我找不到答案。

通常,是否有某种类型的实用程序类可以帮助进行与URL / URI相关的常见字符串操作?

我在想类似Java SE的URL类,但可能会更强一些。我正在寻找能让你做简单事情的东西,比如:

  • 获取查询字符串参数列表
  • 添加“addParameter”方法 查询字符串参数,它会 注意添加“&”,“?”和“=” 必要时
  • 另外,编码 参数值是理想的......

让我知道,谢谢!

3 个答案:

答案 0 :(得分:8)

没有(奇怪的)任何标准都可以做到这一切。有一些零碎的东西,通常埋在各种 util 包中:

我已经使用http://java.net/projects/urlencodedquerystring/pages/Home来获得不错的效果(用于提取参数)。

Atlassian的JIRA有http://docs.atlassian.com/jira/4.2/index.html?com/atlassian/jira/util/UrlBuilder.html,我实际上从jar中提取并使用了它。

在Android上,http://developer.android.com/reference/android/net/Uri.Builder.html是一个Uri构建器,只要轻松构建URL就可以正常工作。

最后,在经典的历史案例中重复:A good library to do URL Query String manipulation in Java

我真的只是扯掉android.net.Uri.Builder类并将其与urlencodedquerystring类配对,然后随身携带它们,但这似乎是Apache commons包的一个很好的候选者。

答案 1 :(得分:1)

我个人喜欢来自jax-rs

UriBuilder

答案 2 :(得分:0)

这不直接回答OP的问题(它不是用于URL操作的通用,全能库),:如果您将要使用无论如何,您还可以考虑ServletUriComponentsBuilderUriComponentsBuilder类(有关javadoc,请参阅herehere)。

我相信它们与spring-web依赖项捆绑在一起。恕我直言,这些提供了很多方便的实用工具方法来处理URI,URL和查询参数。