假设我们在web.xml中有一个名为dispatcher的servlet的3个url模式:
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/aaa/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/bbb/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/ccc/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
和控制器方法:
@RequestMapping(value = "/xxx", method = RequestMethod.POST)
public String foo() {}
Run Code Online (Sandbox Code Playgroud)
由于@RequestMapping中的路径值不包含servlet路径,因此用户请求时
/aaa/xxx
/bbb/xxx
/ccc/xxx
Run Code Online (Sandbox Code Playgroud)
请求将全部映射到方法foo.
我认为如果网站非常复杂,这可能会导致潜在的问题.这是Spring Web MVC的一个缺陷还是我误解了什么?