1
我想要一个特定的URL的“显式”servlet和一个处理所有其他URL的默认(排序全部)servlet。所以,我创建的web.xml文件是这样的:Asterisk(通配符匹配)和url-pattern
<servlet>
<servlet-name>My myindex.html servlet</servlet-name>
<servlet-class>in.shakir.web.MyIndexServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>My myindex.html servlet</servlet-name>
<url-pattern>/myindex.html</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>My all others servlet</servlet-name>
<servlet-class>in.shakir.web.MyHandlerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>My all others servlet</servlet-name>
<url-pattern>*</url-pattern>
</servlet-mapping>
但是它不工作(我得到甚至/myindex.html 404错误) 我使用Tomcat 7
但如果我删除第二个(默认或catch-all)部分从我的web.xml,然后myindex.html工作正常。那么,我的网址模式有什么问题?请指教。
Chandra,我刚刚看过那个页面,看起来使用/ url-pattern>和 * url-pattern> 会产生同样的效果。对 ? –
2012-04-05 06:22:38
@ user1089770/ url-pattern>将充当默认的url模式。我的意思是如果没有url匹配,那么这个servlet将被调用。但我不认为servlet中存在第二种情况。我不知道第二宗案件。 –
2012-04-05 06:24:54