ROOT は DocumentRoot なのやらなんなのやら

しかし、まあ、「五十の手習い」で今更ながら Java の勉強なんか始めると、いろいろ戸惑うことも多いですなあ。

いろいろテストしてみるためにサーバに Tomcat を入れたんですが(インストール自体は仕事で何度もしたことありますが)、webapps の下の ROOT ってなんですのん?

いや、いわゆる DocumentRoot なんだろうけど、でも、war ファイルを webapps 上にデプロイして展開した Web サービスって、ROOT ディレクトリと同じ並びにできるじゃん?

例えば、struts1 のサンプルである struts-examples-1.3.10.war ファイルを webapps 上に転送すると、デプロイされて、struts-examples-1.3.10 ってディレクトリ以下にコンテンツが配置されるじゃん。ROOT の下にじゃなくて、ROOT と同じ並びに。

で、

http://www.exsample.jp:8080/

にアクセスすれば webapps/ROOT の下が参照されるし、

http://www.exsample.jp:8080/struts-examples-1.3.10/

にアクセスすれば、webapps/struts-examples-1.3.10 の下が参照されるよね。(Tomcat のポート番号が 8080 の場合)

で、これ、ROOT の下に同じ名前「struts-examples-1.3.10」ってのが存在していたらどうなるんかね?

うちのテストサーバで試してみた。

うちは Apache と Tomcat を連携させていて、直接ポート番号指定で Tomcat にアクセスしてもダメなようにしてる。

httpd.conf には、

<Location /s/>
    ProxyPass ajp://localhost:8080/
</Location>

こういうプロキシ設定が書き込まれている。

これで、http://www.exsample.jp/s/ にアクセスすると、http://www.exsample.jp:8080/ にアクセスしたのと同じ内容が参照できるわけやね。Tomcat の webapps/ROOT ディレクトリ以下を見ている。

で、http://www.exsample.jp/s/struts-examples-1.3.10/ にアクセスすれば、http://www.exsample.jp:8080/struts-examples-1.3.10/ にアクセスしたのと同様の内容が参照される。

まあ、/s/ を Tomcat の /(ルート)に連携しているんだからそうなるわな。

この時、ROOT の下に struts-examples-1.3.10 という名前のディレクトリを掘って、http://www.exsample.jp/s/struts-examples-1.3.10/ にアクセスしても、決して webapps/ROOT/struts-examples-1.3.10 は参照されない。
参照されるのは、必ず webapps/struts-examples-1.3.10 である。

どこかに設定が書き込まれているのかと grep してみたけど無いようだなあ。
ということは、Tomcat が(例えば起動時や、デプロイ時に)webapps の下を見て動的に制御してるってことか。

もちろん struts-examples-1.3.10 以外の、例えば test というディレクトリを ROOT 以下に掘ってやれば、http://www.exsample.jp/s/test/ でそのディレクトリが参照される。
つまり、ROOT と同じ並びにあるディレクトリと同じ名前のディレクトリを ROOT 以下に作ってもダメってことだな。

webapps ディレクトリが DocumentRoot で、Apache で言えば、

<Location />
    ProxyPass /webapps/ROOT/
</Location>

<Location /struts-examples-1.3.10/>
    ProxyPass /webapps/struts-examples-1.3.10/
</Location>

みたいなプロキシ情報が自動で生成されているってことか?

なんかこの ROOT の存在がほんと気持ち悪いんだけど、気にせず先に進むことにしよう(^^;

トラックバック(0)

このブログ記事を参照しているブログ一覧: ROOT は DocumentRoot なのやらなんなのやら

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/3827

コメントする

このブログ記事について

このページは、shinodaが2016年3月 1日 13:41に書いたブログ記事です。

ひとつ前のブログ記事は「愛俺弁当17」です。

次のブログ記事は「愛俺弁当18」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら