- PR -

サーブレットのパス

1
投稿者投稿内容
ボア
ベテラン
会議室デビュー日: 2002/05/22
投稿数: 78
投稿日時: 2002-10-30 20:08
初心者的な質問で恐縮ですが、ご教示ください。

サーブレットの class ファイルは
context/WEB-INF/classes/XXXXX.class
に配置すると思いますが、この状態で、
http://hostname/context/servlet/XXXXX
としてもアクセスできません。この時、web.xml には何も
記述してません。

ここで、web.xml に
<servlet>
<servlet-name>XXXXX</servlet-name>
<servlet-class>XXXXX</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>XXXXX</servlet-name>
<url-pattern>/servlet/XXXXX</url-pattern>
</servlet-mapping>
と記述すると
http://hostname/context/servlet/XXXXX
でアクセスできるようになります。

いままで別の環境ではこういった設定をしなくても認識できて
いたのですが、これは何が効いているのでしょうか??
Tomcat 4.1.12 を使用しています。
せー
会議室デビュー日: 2001/07/31
投稿数: 4
投稿日時: 2002-10-30 21:31
最近ちょっとはまったので。

http://jakarta.apache.org/site/news.html

こちらにあるようにinvokerがセキュリティの脆弱性があるとのことで、ルートのdefaultのweb.xmlでservlet mappingがデフォルトではコメントアウトされているみたいです。
ですので、現状では各web.xmlでマッピングするのが宜しいかと。

ボア
ベテラン
会議室デビュー日: 2002/05/22
投稿数: 78
投稿日時: 2002-10-31 16:49
せーさん、ご回答ありがとうございます。
無事解決しました。
ここがまさに脆弱性の部分だったのですね。

(でもこれって default の web.xml で定義しても大丈夫なように
invoker が修正されたと思っちゃいけないのかしら???)
#的をはずしてますか?
1

スキルアップ/キャリアアップ(JOB@IT)