我有一个使用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模式?
感谢。
答案 0 :(得分:1)
如果要在请求映射中使用“公司”,则应将调度程序servlet映射到根目录:
<url-pattern>/*</url-pattern>