这对您应该有用。
摘自 Java™Servlet规范版本3.1(JSR
340)
第12章将请求映射到Servlet
12.2映射规范
在Web应用程序部署描述符中,以下语法用于定义映射:
以字符开头
/并以/*后缀结尾的字符串用于 路径映射 。以
*.前缀开头的字符串用作 扩展名映射 。空字符串
("")是一种 特殊的URL模式,它精确地映射到应用程序的上下文根
,即形式的请求http://host:port/<contextroot>/。在这种情况下,路径信息为/,而servlet路径和上下文路径为空字符串("")。仅包含
/字符的字符串表示应用程序的 “默认” servlet
。在这种情况下,Servlet路径是请求URI减去上下文路径,并且路径信息为null。所有其他字符串仅用于 完全匹配 。
另外,请阅读《Head FirstServlets&JSP:通过Sun认证的Web组件开发人员考试(第二版)(引用)一书中的简短示例,以很好地解释这个解释:
三种类型的
<url-pattern>元素1)完全匹配
例:
<url-pattern>/Beer/SelectBeer.do</url-pattern>
- 必须以斜杠(
/)开头。- 可以有扩展名(如.do),但这不是必需的。
2)目录匹配
例:
<url-pattern>/Beer/*</url-pattern>
- 必须以斜杠(
/)开头。- 始终以斜杠/星号(
/*)结尾。3)延长比赛
例:
<url-pattern>*.do</url-pattern>
- 必须以星号(
*)开头(切勿以斜杠开头)。- 星号后必须带有点扩展名(.do,.jsp等)。
重要说明:
URL模式代表 逻辑/虚拟结构 ,即 ,指定的模式(路径)不需要物理存在 。
更新
如您在评论中所述,如果您愿意,
我希望host:port命中我的servlet,而不是默认的tomcat servlet
然后在此处查看解决方案:
如何使我的Web应用程序成为Tomcat默认应用程序
换句话说,您想要的是 没有应用程序上下文 的路径,这意味着Tomcat默认应用程序的应用程序上下文。
从以上链接引用:
在标准的Tomcat安装中,您会注意到在同一目录(CATALINA_base)/ webapps /下,有一个名为 ROOT 的目录(即使在Windows下,大写字母也很重要)。这就是当前Tomcat默认应用程序的驻留位置,当用户调用时,该默认应用程序即刻被调用
http://myhost.company.com[:port]。诀窍是将您的应用程序放在其位置。



