我可以使用servlet在Web容器中执行此复杂的URL映射吗?

时间:2014-07-02 18:02:37

标签: java tomcat servlets

有两个servlet:A,B

映射到:/*

B映射到:/sub_dir/*

如果网址在/sub_dir/*,则由B处理,否则由A处理。

1 个答案:

答案 0 :(得分:2)

您可以帮助您理解url-pattern

Servlet匹配程序

请求可以匹配给定上下文中的多个servlet映射。 servlet容器使用简单的匹配过程来确定最佳匹配。

匹配程序有四个简单的规则。

  • 首先,容器优先于通配符路径匹配精确路径匹配

  • 其次,容器更喜欢匹配最长模式

  • 第三,容器首选路径匹配文件类型匹配。

  • 最后,模式<url-pattern>/</url-pattern>始终匹配任何其他模式不匹配的请求。


请查看我的另一篇文章How does a servlets filter identify next destination is another filter or a servlet/jsp?以获取详细说明。

  

我可以使用servlet在Web容器中执行此复杂的url映射吗?

是的,你可以通过记住规则来创建一个复杂的网址映射。

在您的情况下,根据规则,大多数特定或最长的网址格式/sub_dir/*优先于/*