2009-05-27 5 views
0

Resin(3.0.27)がウェルカムファイルをサーブレットにマップすることは可能ですか?樹脂ウェルカムファイルはサーブレットをロードしません!

これはサポートされていないというCauchoのマニュアルには何も見つかりません。あなたの助けに感謝します。

<servlet-mapping> 
    <servlet-name>td</servlet-name> 
    <url-pattern>*.htm</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
    <welcome-file>index.htm</welcome-file> 
</welcome-file-list> 

編集:私の投稿から明らかでない場合、上記は機能しません。 :)

編集:ファイルシステムにindex.htmを置くと、サーブレットマッピングが機能します。物理ファイルが見つからない場合、Resinがリクエストを終了したようです。

+0

愚かな質問ですが、インデックスファイルがindex.htmで、index.htmlでないことを確認してください。私はあなたがこれをチェックしたと確信していますが、場合に応じてチェックしたい。 – Eddie

+0

心配はいりません。はい、それは.htmファイルです。 .htmファイルに対するすべてのリクエストに応答するためにSpring MVC Disaptcher Servletを使用しています。 index.htmは実際にはディスク上のファイルではなく、コントローラにマップされるURLです。残念ながら、URLがウェルカムファイルから生成された場合、Resinがサーブレットのマッピングを無視しているようです。 – BacMan

答えて

1

caucho_moduleが設定を読み込むため、ウェルカムファイルは無視される可能性があります。ウェルカムファイルのマッピングは、サーブレットコンテナ(たとえば、あなたのケースのResin)によって行われます。しかし、caucho_moduleは、Apacheが何をしようとしているのかを判断するのに役立つ明示的なマッピングを探しているようです。

おそらく、これはcaucho_moduleのバグで、ウェルカムファイルの取り扱いを考慮していないのでしょうか?

これが真実ならば、これを回避するには、「ウェルカムファイル」にマップするURLにApacheのmod_rewriteを使用するのがよいでしょう。確かに、これを試みることは事実を証明するかもしれません。例えば、何かのように:あなたはそれが作る場合、私は知っているのmod_rewriteと十分慣れていないんだ...行うと、最後のスラッシュで終わっていないURLのバージョンを試してみたいことがあります

RewriteEngine on 
RewriteRule ^/your/url/$ /your/url/index.htm [R=permanent,L] 

差。とにかく、これはApacheに、ウェルカムページで終わるURLをリダイレクト(ページをリロードする)するようクライアントに指示するように指示します。この種の問題が問題を解決するならば、これはcacho_moduleのバグです。

もう一つのテストとして試してみると、WelcomeページにResinに直接行くのが正しく処理されているかどうかをApache HTTPをバイパスするために、ポート8888のResinに直接行くことです。

+0

はい、私は書き換えルールを試してみましたが動作します。 残念ながら、インデックスファイルは.jspであり、.htmではないため、書き換えルールリストがかなり長くなることがあります。 – BacMan

+0

さて、私たちは問題の内容を知りました。次のステップでは、この種の問題を処理するcaucho_moduleにバグや回避策があるかどうかを確認します。 – Eddie

+0

私はそれがResinのバグだと思う。私はCauchoに連絡しようとします。 – BacMan

関連する問題