通常情况下,我们是按照如下所示来配置Spring MVC中的DispatcherServlet的:
<servlet>
<servlet-name>servletname</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>servletname</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
使用这样的配置,DispatcherServlet就成为容器缺省servlet,会处理当前应用下的所有请求。
然后我们在controller里这样配置@RequestMapping:
@RequestMapping("/product")
public class ProductController {
@RequestMapping("list")
public String listProducts(Map<String, Object> model)
}
这样当访问:http://domain_name/product/list时,DispatcherServlet 会接收到请求,然后交由ProductController处理。
那么如果我们只想把/product路径下的请求交由Spring MVC来处理呢?
那么就需要把DispatcherServler的路径配置为:/product/*
Controller中配置的@RequestMapping("/product")删掉
为什么这么做,请看下一篇:Spring DispatcherServlet通配符详解