50站长网

SpringMvc静态资源访问实现方法代码实例

广告

原因

SpringMvc中配置前端控制器DispatcherServlet 设为‘/'后,所有的资源请求都要被前端控制器捕捉,SpringMvc会把他们作为普通的请求处理,从而因为找不到对应处理器报错。

解决方法

官方推荐方法

<!--servlet容器能处理的映射,springMvc不拦截-->
<mvc:default-servlet-handler/>

其他方法

xml方式

在springmvc的xml配置文件中

<mvc:resources mapping="/resources/**" location="/public/, classpath:/static/"
cache-period="31556926"/>

location指资源在项目中的位置'/'是根目录webapp,mapping请求路径‘/'是端口号后的‘/'

含义:当请求的资源路径符合/resources/,转到/public或者/static/下的资源

例:

<link rel="script" href="/resources/a.css" rel="external nofollow" >

访问资源/resources/acss --> 先/public/a.css(若先没有)后/static/a.css

java方式

  1. @Configuration  

  2. //声明配置类  

  3. @EnableWebMvc  

  4. //请用springmvc扫描  

  5. public class WebConfig implements WebMvcConfigurer {  

  6.   @Override  

  7.   public void addResourceHandlers(ResourceHandlerRegistry registry) {  

  8.     registry.addResourceHandler("/resources/**")  

  9.         .addResourceLocations("/public""classpath:/static/")  

  10.         .setCachePeriod(31556926);  

  11.   }  

  12. }  

以上就是本文的全部内容,希望对大家的学习有所帮助


广告

本文链接:https://www.50zhan.com/post/12112.html

版权声明:1、本站所提供内容均为作者提供、网友推荐、互联网整理而来,仅供学习参考,如有侵犯您的版权,请联系我们,本站将在三个工作日内改正。
2、若您的网站或机构从本站获取的一切资源进行商业使用,除来源为本站的资料需与本站协商外,其他资源请自行联系版权所有人。
3、本站不保证资源的准确性、安全性和完整性,请您在阅读、下载及使用过程中自行确认,本站亦不承担上述资源对您或您的网站造成的任何形式的损失或伤害
4、未经本站允许,不得盗链、盗用本站资源;不得复制或仿造本网站,不得在非本站所属的服务器上建立镜像,本站对其自行开发的或和他人共同开发的所有内容、技术手段和服务拥有全部知识产权,任何人不得侵害或破坏,也不得擅自使用。
5、互联网的本质是自由与分享,我们真诚的希望,每一份有价值的正能量能够在互联网中自由传播,能够为每一个网站提供动力。

发表评论

还没有评论,快来说点什么吧~

联系客服
返回顶部