Javaちょこっとリファレンス ブログ

Java開発時にぜひご利用ください。

Java基本

[Java] getRemoteAddr とgetRemoteHostの違い

投稿日:

getRemoteAddr とgetRemoteHostの違いについてです

getRemoteAddr とgetRemoteHostの違い

結論から言うと、
getRemoteAddr はクライアントのIPアドレスを取得するメソッドで、
getRemoteHost はクライアントのホスト名を取得するメソッドです。


両方ともクライアントのIPアドレスが取得され、何が違うのかわからない時がありますが
getRemoteHostはIPからホスト名を逆引きしてホスト名を取得し、
逆引きできない時はIPアドレスを返すのでIPアドレスが取得されます。

そのため、getRemoteHostでもIPアドレスが返る場合があります。

【getRemoteAddr とgetRemoteHost】
request.getRemoteAddr()クライアントのIPアドレスを取得する
request.getRemoteHost()クライアントのホスト名を取得する
(ホスト名が取得できない場合はIPアドレスを返す)

一つ注意点があり、getRemoteHostでホスト名を取得したい場合はserver.xmlの
ConnectorにenableLookups="true"を指定しておく必要があります。

例)server.xmlにenableLookups="true"を指定した例

関連項目


スポンサーリンク

スポンサーリンク

-Java基本

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

[Java] 文字列を大文字小文字を区別せず比較する(.equalsIgnoreCase)

文字列を大文字小文字を区別せず比較するには、.equalsIgnoreCaseを使用します。 サンプ ...

[Java] オブジェクトからクラス名を取得する(.getCanonicalName)

オブジェクトからクラス名を取得するには、Classクラスの.getCanonicalName()を使 ...

[Java] Map型オブジェクトから指定した値が存在するかどうか判定する(.containsValue)

Map型オブジェクトから指定した値が存在するかどうか判定するには、.containsValue()を ...

[Java] LocalTimeクラスで時間を生成する

Java8.0から導入された、 java.time.LocalTimeクラスで時間を生成する方法です ...

[Java] 文字列の先頭が一致しているか判定する(.startsWith)

文字列の先頭が一致しているか判定するには、.startsWith()を使用します。 構文 (java ...