相关疑难解决方法(0)

Spring MVC多个url映射到相同的控制器方法

假设我们在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的一个缺陷还是我误解了什么?

spring-mvc url-mapping

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

spring-mvc ×1

url-mapping ×1