我有一个servlet,myservlet,它位于servlet-mapping下的web.xml文件中,我已经映射到url-pattern,index.html。 http://mydomain/myservlet/index.html的请求调用servlet很好。但是,http://mydomain/myservlet/的请求会调用弹出式登录窗口。我尝试使用模式/ *,但这会破坏我的样式表等的路径,即使我将这些都放在顶层也会导致本地硬编码帮助文件出现问题。
有没有办法使用URLRewriteFilter(或其他任何内容),以便http://mydomain/myservlet或http://mydomain/myservlet/的传入请求重新映射到http://mydomain/myservlet/index.html,但没有其他任何内容被触及?
(我正在我的本地机器上测试Tomcat上的servlet,尽管它部署在旧的Sun Web服务器上。)
答案 0 :(得分:0)
我认为这应该可以解决问题:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN" "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
<urlrewrite>
<rule>
<from>^/myservlet[/]{0,1}$</from>
<to>/myservlet/index.html</to>
</rule>
</urlrewrite>
[/]{0,1}
部分就像执行[/]?
来表示正则表达式中的零或一个匹配一样,但使用?
限定符在网址重写过滤器中不起作用。