springMvc里的mvc:resources与静态资源的访问

转自:http://blog.csdn.net/caokang1314/article/details/47750267

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

[html]  view plain  copy
  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来处理静态资源。因此我们还需要在上述配置的基础上加上以下配置:

[html]  view plain  copy
  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文件,并在该文件中插入以下配置:

[html]  view plain  copy
  1. <mvc:annotation-driven/>  
  2. <mvc:resources mapping="/resources/**/" location="/resources/"/>  

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


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

[html]  view plain  copy
  1. <!-- 静态资源访问 -->  
  2.   <mvc:default-servlet-handler/>  

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

也可以使用二:

[html]  view plain  copy
  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里添加如下的配置


[html]  view plain  copy
  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>  


  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<mvc:resources>是Spring MVC框架中的一个配置标签,用于配置静态资源文件的访问规则。它可以指定静态资源的映射路径和存放位置,并可以通过添加自定义的资源解析器来进一步处理这些静态资源。在引用中的示例中,<mvc:resources>标签的mapping属性指定了将所有请求映射到静态资源的规则,location属性指定了静态资源文件的存放位置,order属性指定了处理顺序。而在引用中的博客中,介绍了如何利用<mvc:resources>标签来访问静态资源文件,并提到了一些注意事项。所以,问题中的"mvc:resources"指的是<mvc:resources>配置标签。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [SpringMVC mvc:resources访问静态资源实战](https://blog.csdn.net/w_linux/article/details/80557822)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [SpringMVC源码研究之 mvc:resources](https://blog.csdn.net/lqzkcx3/article/details/78601545)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值