当前位置: 首页 > 面试题库 >

用Java组合URL或URI的惯用方式是什么?

梁祯
2023-03-14
问题内容

如何在Java中构建URL或URI?有没有惯用的方法,还是图书馆很容易做到这一点?

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


问题答案:

使用HTTPClient效果很好。

protected static String createUrl(List<NameValuePair> pairs) throws URIException{

  HttpMethod method = new GetMethod("http://example.org");
  method.setQueryString(pairs.toArray(new NameValuePair[]{}));

  return method.getURI().getEscapedURI();

}


 类似资料:
  • 合并两个枚举实例的可选字段值的惯用方法是什么? 实例

  • 问题内容: 我试图代表一个简化的染色体,该染色体由N个碱基组成,每个碱基只能是的一个。 我想用一个枚举形式化约束,但是我想知道在Go语言中最惯用的枚举方式是什么。 问题答案: 引用语言规范:Iota 在常量声明中,预声明的标识符iota表示连续的无类型整数常量。每当保留字const出现在源中时,它将重置为0,并在每个ConstSpec之后递增。它可以用来构造一组相关的常量: 在Expression

  • 问题内容: 我有一些用于处理YAML配置文件的代码,该文件有点失控,带有类型断言,我觉得必须有更好的方法来做到这一点。 这是我的配置文件中的相关代码段: 这是我的解析代码: 该代码按预期工作,但是这里有很多类型断言,我无法撼动自己缺少更好的方法的感觉。 正如配置所暗示的那样,可能要注意的一个关键项目是Caddy风格的插件系统的配置,因此主配置解析器无法提前知道插件配置的外观。它必须将对配置文件的插

  • 作为Rust的一个学习项目,我有一个非常简单的单链表实现(如果不完整,也可以使用)。结构的声明如下所示: 实施和都是相当直接的,尽管反复实施size确实涉及到一些“与借阅检查人的斗争” 我想尝试的下一件事是向LinkedList结构添加一个尾部指针。以启用有效的push_back操作。在这里,我碰到了一堵墙。起初我试图使用

  • 问题内容: 这个问题已经在这里有了答案 : type()和isinstance()有什么区别? (7个答案) 7年前关闭。 我需要知道Python中的变量是字符串还是字典。以下代码有什么问题吗? 更新 :我接受了avisser的回答(尽管如果有人解释了为什么首选,我会改变主意)。 但是要感谢Nakedfanatic提醒我,使用dict(作为案例陈述)通常比使用if / elif / else系列更

  • 问题内容: 我在Go中编写解释器,并且正在寻找惯用的方式来存储AST。我阅读了Go编译器的源代码,似乎他们使用了带有空方法的接口来表示AST。例如,我们具有以下层次结构, 这就是上述层次结构以“空方法”方式实现的方式。 上面的代码是一个人为的示例,这就是Go编译器如何使用许多空方法来实现 AST的方式。但为什么?注意定义了多少个空方法。随着层次结构深度的增加,它可能会变得非常复杂。 注释中指出,空