- ベストアンサー
JSP: application追加時のweb.xml設定
- Redhat7.2J+Tomcat4.0.1でJSPを使っています。サーバのweb.xmlを変更し例えばhttp://www.goo.ne.jp/~hanakoというURLで/home/hanako/public_htmlを参照するようにしました。
- ユーザhanakoがJSPでいうapplicationを/home/hanako/public_htmlの中に作りたいとします。(application名をapp1とします。)このとき、/home/hanako/public_html/app1/WEB-INF/web.xmlはどのように記述したらよいのでしょうか?
- app1というディレクトリを作らずにpublic_htmlの下に直接WEB-INFを置く場合はweb.xmlに何も書かなくてよいのですが、app1の下に置くと"HTTP Status 500 - Internal Server Error"といったエラーメッセージが出力されます。サーバの方のweb.xmlを書き換えずにやる方法はないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
補足ありがとうございます。 /home/hanako/public_html が ContextPath に指定されてあるなら、 *.jsp はその下のどこに置いても動きませんか? (WEB-INF は、public_html の直下にあるとして) servlet も好きなところで動かしたいということだったら、web.xml の <url-pattern>/servlet/*</url-pattern> を <url-pattern>/*/servlet/*</url-pattern> にして、必ず servlet ディレクトリ下に置くようにするとかできない ですかね? (すいません、時間なくて試してません^^;)
その他の回答 (1)
- s-mariko
- ベストアンサー率64% (33/51)
私はシロートなのですが、興味あるので回答してみます。 >サーバのweb.xmlを変更し例えば >http://www.goo.ne.jp/~hanako >というURLで >/home/hanako/public_html >を参照するようにしました。 こういった設定は Apache の httpd.conf と Tomcat の server.xml で 設定するものと思ってたんですが、web.xml にはどのように設定すればいい のでしょうか? すいません逆質問で^^; >app1の下に置くと とは、何を置いたのでしょうか? /home/hanako/public_html/app1 をアプリケーション?のディレクトリにしたいと言う事は、Tomcat の server.xml に context としてパスを登録するくらいしか知らないん ですが、ちなみに app1 下に置いて動かないものを public_html の 下に置くと動くのでしょうか?
補足
すみません、すっかり書き間違えていました。 ご指摘の通り"サーバのweb.xml" --> "サーバのserver.xml"です。 app1/の下にWEB-INFや*.jspです。Tomcatをインストールすると webapps/examples/ができますよね。例えばこれを /home/hanako/public_html/app1/へ移動できないかと思ったわけです。 /home/hanako/public_html/に置くとできます。 ~hanakoで/home/hanako/public_htmlを参照するようにしたからと 思われます。 個々のユーザがapplicationを作ったり消したり名前を変えたりするたびに 管理者がserver.xmlの<Context>を変更してTomcatを再起動するというのは 大変ですよね。ユーザが何十人といたらとても無理です。
お礼
JSPはどこでも動きます。 あとは自分でいろいろやってみます。 スレッドを追跡するのが大変なので ここで終わりにさせて下さい。 ありがとうございました。