Spring请求映射:与url模式匹配

时间:2013-02-13 14:46:56

标签: spring servlets spring-mvc

我有一个使用Spring MVC的Web应用程序。

的web.xml

<servlet>
    <servlet-name>spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.do</url-pattern>
    <url-pattern>/companies/*</url-pattern>
</servlet-mapping>

弹簧控制器方法:

class RealmInfoController{

    @ResponseBody
    @RequestMapping(value = {"/companies/{companyId}/realms/{realmName}"})
    public RealmInfo realmInfo(@PathVariable long companyId, @PathVariable String realmName)

处理程序匹配:

http://localhost:6122/context/companies/15877/realms/firstRealm

当服务器获取此url时,将调用spring servlet。但它与控制器方法不匹配。

但是如果我将请求映射更改为&#34; / {companyId} / realms / {realmName}&#34;然后它匹配控制器方法。但是如果没有&#39; /公司&#39;来定义网址映射并不好。是否可以通过某种方式指示Spring查找匹配,包括servlet中指定的url模式?

感谢。

1 个答案:

答案 0 :(得分:1)

如果要在请求映射中使用“公司”,则应将调度程序servlet映射到根目录:

<url-pattern>/*</url-pattern>