0

私が書いているプログラムは、.properties ファイルから接続パラメーターをロードし、それらを使用していくつかの異なるデータベースに接続します。

そう:

  • URL エスケープが必要になる可能性はありますか?
  • URL エンコーディングの必要性はドライバーによって異なりますか? -および、もしそうなら- Oracle JDBC ドライバーに特に必要ですか?

背景のビット (厳密に読む必要はありません):

ドキュメントには URL を提供するように記載されており、その形式は通常の URL の形式のように見えますが (とにかくほとんどの場合)、java.net.URLEncoder を使用している人を見たことがありません。誰もがメソッドに文字列を渡すだけのようです。確かに、私が見たすべての例は、ハードコーディングされた文字列リテラルでした (そのため、ランタイム エスケープ メソッドの呼び出しは不要なものになります)。

好奇心旺盛な方のために、DriverManager に関する Sun-err、Oracle- ドキュメントへのリンク。

4

1 に答える 1

1

URL を URL エンコードするべきではありません。その名前にもかかわらず、このURLEncoderクラスの目的は URL引数と POST パラメーターをエンコードすることです。

ただし、URL を期待するものに渡される URL はエスケープする必要があります。これを行う正しい方法は、new URI(null, String, null).toASCIIString()適切な URL とURLEncoder、各引数の名前と値を使用することです。

于 2013-07-02T01:00:28.400 に答える