- ベストアンサー
tomcat3.2.2でディレクトリリスト表示できず?
- tomcat3.2.2をダウンロードして動作させようとしたが、ディレクトリリストの表示ができない。以前のバージョンでは表示できた。
- ディレクトリリストを表示させると、タイムスタンプを表示させる際にエラーが発生している。
- 修正方法を教えてほしい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
私も表示できませんでした。 どうやらデフォルトエンコードが3.2.xからISO-8859-1になってしまったようでその変更に伴うソースコードの修正がなんというか・・・いまいちのようです。 server.xmlのStaticInterceptorでsuppress="false"でファイルリスト表示なのでtrueにして非表示でこの苦難を乗り越えるという手もあります。 なんか根本的解決からかけ離れているのでもうひとつの方法を、問題のソースコードはStaticInterceptor.javaの532行目以降です String charset = LocaleToCharsetMap.getCharset(Locale.getDefault()); if (charset == null || charset.equalsIgnoreCase("ISO-8859-1")) res.setContentType("text/html"); else res.setContentType("text/html; charset=" + charset); 他の部分でもやっているようにこんな感じにすべきだと思います。でもいくらオープンソースだからって勝手にコード修正してコンパイルして動かすのもねぇ。本来なら報告すべきなんだろうけど英語レベルが・・・ 最後にファイルリストをtomcatではなくapacheにまかせるという方法があります。これは当然apacheとの連携が必要で説明が冗長になりますので割愛させていただきます。詳細はtomcatドキュメントの「Tomcat とApache の連携方法」をどうぞ。 #海の向こうのソフトを使うと大抵日本語にまつわる潜在的なバグに悩まされる
お礼
お返事ありがとうございます。 >どうやらデフォルトエンコードが3.2.xからISO-8859-1になってしまったようで やはりそうだったのですか。 現在私がtomcat使用しているのは、自分のJava勉強のために使っているだけなので、 勝手にソースを直して動作させるか、またはApacheと連携して使用しようかと思います。 自分の設定が悪いのではなかったようなので、安心しました。 ありがとうございました。