Resin welcome-file不加载servlet!

时间:2009-05-27 02:38:59

标签: resin

Resin(3.0.27)是否可以将欢迎文件映射到Servlet?

我在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放在文件系统中,则servlet-mapping可以正常工作。如果Resin找不到物理文件,就好像它会终止请求一样。

1 个答案:

答案 0 :(得分:1)

由于caucho_module加载其配置的方式,它很可能会忽略欢迎文件。欢迎文件映射由servlet容器完成(例如,在您的情况下为Resin)。但是caucho_module似乎正在寻找一种明确的映射存在,以帮助它决定Resin的内容和内容,以及Apache将尝试为自己服务的内容。

也许这是caucho_module中的一个错误,它不考虑欢迎文件处理?

如果这是真的,那么你可以解决这个问题的一种方法是使用Apache的mod_rewrite来表示你希望映射到“欢迎文件”的URL。实际上,尝试这一点很可能证明这一点。例如,像:

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

您可能想尝试以最终斜杠结尾的URL版本......我对mod_rewrite不太熟悉,知道这是否有所作为。无论如何,这将告诉Apache告诉客户端重定向(重新加载页面)一个以欢迎页面结尾的URL。如果这种事情解决了问题,那么IMO就是cacho_module中的一个错误。

尝试作为测试的另一件事是直接转到Resin - 通常在端口8888上 - 绕过Apache HTTP以查看是否直接转到Resin欢迎页面是否正确处理。