プロが教える店舗&オフィスのセキュリティ対策術

初めまして、Sabaponです。

当方、現在tomcatを勉強を始めたばかりなのですが、
webapps配下に置くディレクトリの参照のことで困っております。

仮にルートディレクトリ名を「test」として、
webapps→test→WEB-INF
という配置までは行ったのですが、ここで
http://localhost:8080/test/
として参照しようとしたところ、tomcatのバージョンに
よってディレクトリが閲覧できたりできなかったり
しました。

いろいろバージョンを変えて試したところ
バージョン4から5.5の前半ぐらいまでは空のディレクトリでも閲覧できたのですが、それ以降のバージョンでは
閲覧できませんでした。

自分なりにconfフォルダ内のxmlを書き換えたりしてみたのですが、うまくつながりません。
ちなみに現在インストールしているバージョンは
tomcat:6.0.13、jdk:1.6.0_02 です。

もし、仕様であれば、バージョンを落とすしかないのかとも思ったのですが、ネットや書籍の情報でもできるだけ新しいバージョンを使用した方が良いと多くの方が
書かれているようなので、できれば、最新バージョンで
勉強したいと思っております。

全く、初歩的な質問で申し訳ございません。
なにとぞよろしくお願い申し上げます。

A 回答 (1件)

>うまくつながりません。


つながっているのでご心配なく。
単にフォルダアクセス権が拒否されているだけです。
これは、一般的なWEBサーバでも同じで、ファイルの一覧が出ることが、そのまま不正アクセスの原因になりかねないので、対処されています。
ちゃんと、ファイル名まで指定してあげれば見えます。
たとえば、test/index.html があるのであれば、
Http://server/test/index.html を指定してあげます。
tomcatはWEB-APPサーバであって、httpサーバではないので、ファイル名を指定しなかった場合のデフォルトファイル名を表示する事はできないかとおもいます(私がしらないだけかも)
web.xmlにwelcome-file-listを指定すれば、いけるんじゃないかとおもいます。
http://www.sk-jp.com/java/servlet/webxml.html#h51
    • good
    • 1
この回答へのお礼

> ANo.1様
ありがとうございます。返事が遅くなってしまい申し訳ございません。
welcome-file-listのことは不勉強で知りませんでした。
教えていただいた情報を参考に、ぜひためしてみます。

また、あれから自分でも調べてみたのですが、ディレクトリインデックスという機能があるとのことで
confフォルダ内のweb.xmlの下記の場所でparam-valueをtrueにすることでディレクトリ一覧の表示ができました。
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
しかし、やはりセキュリティ上好ましくないとのことだったので、自宅での勉強の場合だけにしようと思います。

最後になりましたが、お忙しい所本当にありがとうございました。
またいろいろ質問をさせていただくことがあるかとは思いますが、
その節はなにとぞよろしくお願い申し上げます。

お礼日時:2007/08/06 23:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!