在前面几节中,咱们了解到在SpringMVC 框架中,DispatcherServlet是负责分发请求的。今天小博老师带领你们一块儿详细的学习下DispatcherServlet的使用方法。首先咱们要了解如何在web.xml中配置dispatcherServlet:web
<servlet>spring <servlet-name>Bsoweifeng</servlet-name>app <servlet-class>框架 org.springframework.web.servlet.DispatcherServlet学习 </servlet-class>url <load-on-startup>1</load-on-startup>spa </servlet>code <servlet-mapping>server <servlet-name>chapter2</servlet-name>xml <url-pattern>/</url-pattern> </servlet-mapping> |
load-on-startup:意味着启动容器时就执行该Servlet初始化;
url-pattern:表示哪些请求交给SpringMVC处理, “/” 表示拦截全部请求。
在以上的DispatcherServlet配置中默认使用WebApplicationContext做为上下文,Spring默认配置文件为“/WEB-INF/[servlet名字]-servlet.xml”。
DispatcherServlet支持配置自定义初始化参数,覆盖默认配置:
参数 |
描述 |
contextClass |
实现WebApplicationContext接口的类,当前的servlet用它来建立上下文。若是这个参数没有指定, 默认使用XmlWebApplicationContext。 |
contextConfigLocation |
传给上下文实例(由contextClass指定)的字符串,用来指定上下文的位置。这个字符串能够被分红多个字符串(使用逗号做为分隔符) 来支持多个上下文(在多上下文的状况下,若是同一个bean被定义两次,后面一个优先)。 |
namespace |
WebApplicationContext命名空间。默认值是[server-name]-servlet。 |
对上面的配置案例进行修改:
<servlet> <servlet-name>Bsoweifeng</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> <init-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:spring-servlet-config.xml </param-value> </init-param> </servlet> |
若是使用如上配置,SpringMVC将加载“classpath:spring-servlet-config.xml”初始化上下文,而再也不使用默认的“/WEB-INF/[servlet名字]-servlet.xml”。