我尝试设置一个servlet,以便/foo/*
的任何请求都会转到我的Foo
servlet,但/foo/bar/*
形式的请求除外到Bar
一个。但是,我希望/foo/bar
转到Foo
servlet,而不是Bar
servlet。有没有办法用web.xml中的url-patterns来做到这一点?
我的映射:
<servlet-mapping>
<servlet-name>Bar</servlet-name>
<url-pattern>/foo/bar/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Foo</servlet-name>
<url-pattern>/foo/*</url-pattern>
</servlet-mapping>
我尝试删除星号并尝试其他一些模式,但我能看到的唯一方法是为/foo/bar
设置一个特定的映射,尽管看起来应该有一个更好的方式。
答案 0 :(得分:0)
如果您使用的是servlet规范v2.5或更高版本,则可以为同一 servlet-mapping 提供多个 url-pattern 元素,如:
<servlet-mapping>
<servlet-name>Foo</servlet-name>
<url-pattern>/foo/*</url-pattern>
<url-pattern>/foo/bar</url-pattern>
</servlet-mapping>