このとき、
http://www.fortune.com/webapp1/SomethingServlet
のようなパスでこの Web アプリにアクセスできる。これに /packman というコンテクストパスでもアクセスできるようにするには、CATALINA_HOME/webapps/ に次のような内容の XML フラグメントファイルをおけばいい。
<?xml version="1.0" encoding="EUC-JP" ?>
<!--
ファイル名は packman.xml でも hoge.xml でも何でもいい。
-->
<Context path="/packman" docBase="./webapp1.war"
debug="0" privileged="true">
</Context>
こうしてから、
http://www.fortune.com/packman/SomethingServlet
によるアクセスが成功する。ただし、この方法には重大な欠陥がある。これだと、webapp1 というアプリケーションが二重に起動されてしまうのだ。つまり、アプリケーションのインスタンスが2つできてしまう。
一方の Web アプリから他方の Web アプリにリクエストを転送することで1つの Web アプリを共用化することはできる。ただ、いろいろ調べてみたが、Unix のシンボリックリンクのようにパスを多重化しつつ、ファイルの実体は1つだけにするというようなことはできないようだ。
検索をかけてみると、日本語のページはヒットしなかったが、英語では1つだけヒットした。
How to configure multiple context path for a webapps
No comments:
Post a Comment