7.1 Spring MVC起步

来源:互联网 发布:mac word 替换 编辑:程序博客网 时间:2024/04/29 23:14

7.1.1 跟踪Spring MVC的请求

在Spring MVC中,DispatchServlet就是前端控制器。DispatcherServlet的任务是将请求发送给Spring MVC控制器。所以DispatcherServlet会查询一个或多个处理器映射来确定请求的下一站在哪里。控制器所做的最后一件事是将模型数据打包,并且标示出用于渲染输出的视图名称。它接下来会将请求连同模型和视图名称发送回DispatcherServlet。DispatcherServlet将会使用视图解析器来将逻辑视图名匹配为一个特定的视图实现,它可能是也可能不是。

7.1.2 搭建Spring MVC

DispatcherServlet必须在Web应用程序的web.xml文件中进行配置。

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

默认情况下,DispatcherServlet在加载时会从一个基于这个Servlet名字的XML文件中加载Spring应用上下文。上面示例中,DispatcherServlet将尝试从一个名为spitter-servlet.xml的文件(位于应用程序的WEB-INF目录下)来加载应用上下文。

匹配DispatcherServlet:

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

通过将DispatcherServlet映射到/,声明了它会作为默认的servlet并且会处理所有的请求,包括对静态资源的请求。

Spring的MVC命名空间包含了一个新的<mvc:resources>元素,它会处理静态资源的请求。

创建spitter-servlet.xml文件:

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">   <mvc:resources mapping="/resources/**" location="/resources/" /><!--处理对静态资源的请求--></beans>
属性mapping被设置为/resources/**,它包含了Ant风格的通配符以表明路径必须以/resources开始,而且也包括它的任意子路径。属性location表明了要提供服务的文件位置。以上配置表明,所有以/resources路径开头的请求都会自动由应用程序根目录下的/resources目录提供服务。因此,我们的所有图片、样式表、JavaScript以及其他的静态资源都必须放在应用程序的/resources目录下。














0 0