web.xml中/和/ *有什么区别?
用于调度程序servlet /并且我猜这意味着所有请求。在这种情况下,url-pattern“/ *”是什么意思?
答案 0 :(得分:6)
/*
表示“所有请求”,而/
表示“所有请求均未由其他servlet处理”。
特别是,常见的混淆源是/*
覆盖了内置servlet的映射,例如JSP servlet。这意味着如果将DispatcherServlet
映射到/*
,您将无法使用基于JSP的视图,因为呈现这些视图的请求将由DispatcherServlet
本身处理,而不是由实际呈现JSP页面的JSP servlet。
这就是应该处理所有请求的DispatcherServlet
通常映射到/
。
答案 1 :(得分:2)
来自SRV.11.2 Specification of Mappings
在Web应用程序部署描述符中,使用以下语法 用于定义映射:
- 以“/”字符开头并以“/ *”后缀结尾的字符串用于路径映射。
- 以'*。'前缀开头的字符串用作扩展名映射。
- 仅包含'/'字符的字符串表示应用程序的“默认”servlet。在这种情况下,servlet路径是 请求URI减去上下文路径,路径信息为空。
- 所有其他字符串仅用于完全匹配。
模式/*
将强制通过servlet的所有内容。模式/
将使您的servlet成为应用程序的默认servlet,这意味着它将获取没有其他完全匹配的每个模式