• 締切済み

tomcat から サーブレットへの引数

お世話になります。 以下の環境においての質問です。 Helloクラスがあります。 Helloクラスは外部ファイルHelloプロパティを参照します。 このクラスをコピーし、複数のサービスを立ち上げ、 以下のURLにてアクセスできるようにします。 http://localhost/hello1/ http://localhost/hello2/ http://localhost/hello3/  : 当然、どのサーブレットも同様の動きをし、同じプロパティファイルを参照します。 ここで、参照ファイルについて、それぞれ別のファイルを参照したいと思いました。 そのため、tomcat側からHelloクラスへ、呼び出す際にパラメータなどを渡したいのですが、 方法などございますでしょうか? よろしくお願いいたします。

みんなの回答

回答No.1

mozori01さんがやりたいことがちょっと分からなかったのですが、URLごとにアクセスするプロパティファイルを変えたいということでしょうか? 簡単に考えるのであれば、Helloクラスはプロパティファイルを読むだけのユーティリティクラスにしてしまい(サーブレットをやめる)、新たに受け口となるサーブレットを3つ用意するのが簡単ではあります。 (あっ!プロパティファイルを読み込むだけならPropertiesクラスがあるからユーティリティクラスを用意する必要ないですね。) でも、一般的に考えるとしたらパラメータを渡して変えるというのが良いでしょう。 http://localhost/hello1?key=prop1/ http://localhost/hello1?key=prop2/ http://localhost/hello1?key=prop3/ というようなURL指定をするとhello1にマッピングされたサーブレットのdoGetに渡ってきたHttpServletRequestからgetParameter("key")とすることで"prop1"、"prop2"、"prop3"といった指定された値がStringで取得可能です。 (何もなければ当然nullが返ります。) その取得した文字列で条件判断するのが妥当だと思います。 ※ちなみにkeyとかかれているところは任意の文字列ですので適宜変更可です。

mozori01
質問者

お礼

ありがとうございました。

関連するQ&A