den*_*iss 7 java servlets jetty
我有这个映射
<servlet-mapping>
<servlet-name>service</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
但我也希望/ service/master映射到主servlet.
<servlet-mapping>
<servlet-name>master</servlet-name>
<url-pattern>/service/master</url-pattern>
</servlet-mapping>
我相信这里存在冲突,因为调用/ service/*会立即触发服务servlet.有没有办法让我在servlet映射中使用某种排除方法,或者可以使用regexp来做我想做的事情?
Servlet映射始终使用最具体的匹配,因此路径<context>/service/master将始终映射到master.
这是Servlet 3.0规范中的第一个映射规则:
- 容器将尝试查找请求路径与servlet路径的完全匹配.成功匹配选择servlet.
- 容器将递归地尝试匹配最长的路径前缀.这是通过使用'/'字符作为路径分隔符一次单击目录的路径树来完成的.最长匹配确定所选的servlet.
- 如果URL路径中的最后一个段包含扩展名(例如.jsp),则servlet容器将尝试匹配处理扩展请求的servlet.扩展名被定义为最后一个'.'之后的最后一个段的一部分.字符.
- 如果前三个规则都不会导致servlet匹配,则容器将尝试提供适合所请求资源的内容.如果为应用程序定义了"默认"servlet,则将使用它.许多容器提供用于提供内容的隐式默认servlet.
| 归档时间: | 
 | 
| 查看次数: | 2880 次 | 
| 最近记录: |