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




テスト環境から本番環境へ持っていったり、サーバー環境でURLが変わったりすることは良くあります。
こんなときのために、あらかじめパス情報をAPIで取得して、そのパスから画像ファイルなどのURLを作成しておけば、環境が変わっても大体対応することができます。
サーブレットではHttpServletRequestからいろいろなパス情報を取得できます。
これを利用すると、パス情報を動的に作成することができるようになります。

Youtube版はこちらからどうぞ

Youtubeで動画を公開しました。こちらもぜひぜひ。
こちらでは、もう少し細かく解説してます。

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

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

実行結果

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

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

サンプルの解説

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

これを組み合わせれば、画像ファイルなどのリソースなども安心ですね。
まあ、さすがにサーバー名あたりまではいらんかもしれないけどw