0

我正在编写的程序从 .properties 文件加载连接参数,并使用它们连接到几个不同的数据库。

所以:

  • URL转义是必要的吗?
  • 是否需要 URL 编码取决于驱动程序?- 并且,如果是的话- 是否需要专门针对 Oracle JDBC 驱动程序?

一点(不是必须阅读)背景:

文档说要提供一个 URL,并且格式确实看起来像一个普通的 URL(大多数时候,无论如何),但我从未见过有人使用 java.net.URLEncoder。每个人似乎都只是将字符串传递给方法。诚然,我见过的每个示例都是硬编码的字符串文字(因此运行时转义方法调用将是不必要的麻烦)。

DriverManager 上 Sunerr、Oracle 文档的链接,供好奇者参考。

4

1 回答 1

1

您根本不应该对 URL 进行 URL 编码。尽管它的名字,URLEncoder该类的目的是编码 URL参数和 POST 参数。

但是,您当然应该转义任何传递给任何期望的 URL。正确的方法是使用new URI(null, String, null).toASCIIString()正确的 URL,以及URLEncoder每个参数名称和值。

于 2013-07-02T01:00:28.400 回答