サーブレットでURLのパスを取得する




URLの擬似静的化を行うとき、画像ファイルのパス等を作成したりするためには、パス情報の取得が必要になります。
サーブレットでは、HttpServletRequestの各情報をもとに、いろいろなパス情報を取得することができます。

URLのパスを取得するサンプル

ドメイン名や、サーブレット名、等のパス情報を取得するサンプルです。
取得した結果を、とりあえずブラウザに出力してみます。

実行結果

「http://localhost:8080/TestWeb/urltest/aaa?bbb=ccc」で、サーブレットにアクセスしてみます。

Webアプリケーション(コンテキスト):TestWeb
サーブレット:urltest

サンプルの解説

上記サンプルのとおり、アクセスされたURLに関するパス情報を取得することができます。
並べてみると、こんな感じになります。

余談ですが、Google先生は「無理に動的ページを静的URLにしなくても良いんだからね!」って言ってます(‘◇’)ゞ
とは言え、パラメータ違いによるページの重複は良くある話。
ですので、静的化できるのであれば、したいところ・・ってとこでしょうか。