Spring学习笔记 7.1 Spring MVC起步

时间:2021-06-26 04:58:16

7.1.1 跟踪Spring MVC的请求
请求首先到达DispatcherServlet(DispatcherServlet是Spring MVC中的前端控制器);
DispatcherServlet的任务:将请求发送给Spring MVC控制器(通过DispatcherServlet查询处理器映射);
控制器将模型(model,模型:控制器处理得到的信息)发送给视图(view,通常是JSP);
控制器将模型视图发送给DispatcherServlet;
视图使用模型数据渲染输出,返回给客户端。

7.1.2 搭建Spring MVC
在web.xml中加入DispatcherServlet对应的<servlet>:

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

名为XXX的servlet默认使用XXX-servlet.xml来加载应用上下文。
接下来声明DispatcherServlet处理哪些URL:

  <servlet-mapping>
<servlet-name>moonlit</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

通过将DispatcherServlet映射到/,声明了它会作为默认的servlet并且会处理所有的请求,包括对静态资源的请求。
Spring的mvc命名空间包含了一个新的<mvc:resources>元素,它会处理静态资源的请求。
在moonlit-servlet.xml中配置(moonlit为DispatcherServlet对应的servlet名):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd" > <mvc:resources mapping="/resources/**" location="/resources/" /> </beans>

<mvc:resources>建立了一个服务于静态资源的处理器。属性mapping表示路径,这里/resources/**表示路径必须以/resources开始;属性location表示要提供服务的文件位置。