zoukankan      html  css  js  c++  java
  • springMvc里的mvc:resources与静态资源的访问

    在进行Spring MVC的配置时,通常我们会配置一个dispatcher servlet用于处理对应的URL。配置如下:

    1.  
      <servlet>
    2.  
      <servlet-name>mvc-dispatcher</servlet-name>
    3.  
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    4.  
      <load-on-startup>1</load-on-startup>
    5.  
      </servlet>
    6.  
       
    7.  
      <servlet-mapping>
    8.  
      <servlet-name>mvc-dispatcher</servlet-name>
    9.  
      <url-pattern>/</url-pattern>
    10.  
      </servlet-mapping>

    这表示名字为mvc-dispatcher的servlet会处理一切的url对应的请求,那么我们怎么让servlet来处理项目中的静态资源呢?这里有两种方法。

    1. 另外使用一个servlet来处理静态资源。若我们的资源放置在webapps文件夹下的resources文件夹中,那么我们可以用名字为default的servlet来处理静态资源。因此我们还需要在上述配置的基础上加上以下配置:

    1.  
      <servlet-mapping>
    2.  
      <servlet-name>default</servlet-name>
    3.  
      <url-pattern>resources/*</url-pattern>
    4.  
      </servlet-mapping>


    这表示default的servlet会处理url中为resources/*的对应的请求。这样,当你把你的image,css已经其他文件放在resources文件中时,spring就可以找到它啦。

    2. 采用spring自带<mvc:resources>方法。首先找到你定义的那个servlet的xml文件,如本例子中,servlet的名字叫mvc-dispatcher,因此需要找到mvc-dispatcher-servlet.xml文件,并在该文件中插入以下配置:

    1.  
      <mvc:annotation-driven/>
    2.  
      <mvc:resources mapping="/resources/**/" location="/resources/"/>


    这样,就不必另外添加一个mvc来处理静态资源。而mvc知道静态资源所处的位置为resources文件夹。
    两种方法都可以将spring mvc配置处理静态资源。

    在SpringMVC3.0之后推荐使用一: 

    1.  
      <!-- 静态资源访问 -->
    2.  
      <mvc:default-servlet-handler/>


    以下两种在SpringMVC3.0之前可以使用

    也可以使用二:

    1.  
      <!-- 静态资源访问
    2.  
      <mvc:resources location="/img/" mapping="/img/**"/>
    3.  
      <mvc:resources location="/js/" mapping="/js/**"/>
    4.  
      <mvc:resources location="/css/" mapping="/css/**"/>
    5.  
      -->


    也可以使用三:

    web.xml里添加如下的配置

    1.  
      <servlet-mapping>
    2.  
      <servlet-name>default</servlet-name>
    3.  
      <url-pattern>*.css</url-pattern>
    4.  
      </servlet-mapping>
    5.  
       
    6.  
      <servlet-mapping>
    7.  
      <servlet-name>default</servlet-name>
    8.  
      <url-pattern>*.gif</url-pattern>
    9.  
       
    10.  
      </servlet-mapping>
    11.  
       
    12.  
      <servlet-mapping>
    13.  
      <servlet-name>default</servlet-name>
    14.  
      <url-pattern>*.jpg</url-pattern>
    15.  
      </servlet-mapping>
    16.  
       
    17.  
      <servlet-mapping>
    18.  
      <servlet-name>default</servlet-name>
    19.  
      <url-pattern>*.js</url-pattern>
    20.  
      </servlet-mapping>



  • 相关阅读:
    PHP函数CURL分别以GET、POST方式请求HTTPS协议接口api
    【开发必备】2018最新中国国内可用API合集
    天天动听API
    网易音乐API
    测开之数据类型第3篇《列表推导式、字典推导式、2种方式创建生成器》
    数据类型第2篇「字典和集合的原理和应用」
    测开入门篇《环境管理、编码规范、项目结构》
    App自动化《元素定位方式、元素操作、混合应用、分层设计、代码方式执行Pytest 命令》
    我膨胀了,测试必要商城小程序,用了3种方式!:)
    Appium之测试微信小程序
  • 原文地址:https://www.cnblogs.com/yinyl/p/9266480.html
Copyright © 2011-2022 走看看