返回介绍

3.2 Spring MVC 的 DispatcherServlet

发布于 2025-04-22 20:09:58 字数 1858 浏览 0 评论 0 收藏

回想一下,第 2 章建立了一个简单的 MVC 框架,包含一个充当调度员的 servlet。基于 Spring MVC,则无需如此。Spring MVC 中自带了一个开箱即用的 Dispatcher Servlet,该 Servlet 的全名是 org.springframework.web.servlet.DispatcherServlet。

要使用这个 servlet,需要在部署描述符(web.xml 文件)中使用 servlet 和 servlet-mapping 元素来配置它,如下所示:

<servlet>
  <servlet-name>springmvc</servlet-name>
  <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
  <servlet-name>springmvc</servlet-name>
  <!-- map all requests to the DispatcherServlet -->
  <url-pattern>/</url-pattern>
</servlet-mapping>

servlet 元素内的 on-startup 元素是可选的。如果它存在,则它将在应用程序启动时装载 servlet 并调用它的 init 方法。若它不存在,则在该 servlet 的第一个请求时加载它。

Dispatcher servlet 将使用 Spring MVC 诸多默认的组件。此外,初始化时,它会寻找在应用程序的 WEB-INF 目录下的一个配置文件,该配置文件的命名规则如下:

servletName-servlet.xml

其中,servletName 是部署描述符中的 Dispatcher servlet 的名称。如果这个 servlet 的名称是 SpringMVC,则在应用程序目录的 WEB-INF 下对应的文件是 SpringMVC-servlet.xml。

此外,也可以把 Spring MVC 的配置文件放在应用程序目录中的任何地方,只要告诉 Dispatcher servlet 在哪里找到该文件。我们使用 servlet 声明下的一个 init-param 元素来做到这一点。init-param 元素拥有一个值为 contextConfigLocation 的 param-name 元素,其 param-value 元素则包含配置文件的路径。例如,可以利用 init-param 元素将默认的文件名和文件路径更改为 WEB-INF/config/simple-config.xml。

< servlet>
  < servlet-name>springmvc< /servlet-name>
  < servlet-class>
    org.springframework.web.servlet.DispatcherServlet
  < /servlet-class>
  <  init-param> < param-name>contextConfigLocation< /param-name> < param-value>/WEB-INF/config/simple-config.xml< /param-value> < /init-param> < load-on-startup>1< /load-on-startup> < /servlet>

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。