我正在编写的程序从 .properties 文件加载连接参数,并使用它们连接到几个不同的数据库。
所以:
- 是否需要进行网址转义?
- 是否需要 URL 编码取决于驱动程序? -如果是这样- 是否需要专门针对 Oracle JDBC 驱动程序?
一些(并非严格必要阅读)背景:
文档说要提供一个 URL,而且格式确实看起来像普通 URL 的格式(无论如何,大多数时候),但我从未见过有人使用 java.net.URLEncoder。每个人似乎都只是将字符串传递到方法中。 当然,我见过的每个示例都是硬编码的字符串文字(因此运行时转义方法调用将是不必要的)。
A link to the Sun- err, Oracle- documentation on DriverManager, for the curious.
最佳答案
您根本不应该对 URL 进行 URL 编码。尽管有其名称,URLEncoder
类的用途是对 URL 参数和 POST 参数进行编码。
但是,您当然应该转义传递给任何需要 URL 的任何内容。正确的方法是使用 new URI(null, String, null).toASCIIString()
表示 URL 本身,并使用 URLEncoder
表示每个参数名称和值。
关于java - 我应该对传递给 java.sql.DriverManager 的 getConnection 方法的 URL 进行 URL 编码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17411438/