基本全面 springmvc的静态资源无法访问解决方法

问题:
目录结构如下:
css和这两个静态资源无法访问,打开服务后,直接去浏览器访问
:8080/css/main.css失败
解决方案1
查看访问路径是否正确,配置的虚拟路径有没有加在浏览器的访问中
1.如果虚拟路径设置的是一个斜杆/,那么访问:8080/css/main.css是正确路径
2.否则需要加上你配置的或者默认的虚拟路径在访问路径前
3.比如我的 不是一个斜杆,而是/ , 那么正确的访问路径是:8080//css/main.css

基本全面  springmvc的静态资源无法访问解决方法

文章插图
解决方案2(主要解决方法)
如果配置的是/或者访问路径正确仍是无法获得静态资源,则查看web.xml中mvc的配置,你的前端控制器是不是全部拦截 , 即为/
这里介绍一下url-中/和/*的区别:
/:代表拦截除了*.jsp以外的资源(比如html、css、js、图片资源等静态资源)/*:代表拦截全部请求,包括*.jsp也就是说/*比/多拦截了动态资源
web.xml的所有内容:
/WEB-INF/pages/welcome.jsporg.springframework.web.context.ContextLoaderListenercontextConfigLocationclasspath:applicationContext.xml>>dispatcherServlet>org.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1>>dispatcherServlet/characterEncodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8characterEncodingFilter/*
可以看到:web.xml中的的拦截路径为/,则是拦截所有请求,包括静态资源,则浏览器是访问不到静态资源的 , 那么解决方案有以下三种:
>>dispatcherServlet>org.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:spring-mvc.xml1>>dispatcherServlet/>>default*.css>>default*.html>>default*.js>>default*.png>>default*.gif>>default*.jpg

="/css/"表示静态资源实际的相对路径位置
="/css/**"表示浏览器的uri访问地址
比如访问:8080/css/main.css,这个url对于的就是/css/main.css,它是在设置的的范围内的,随后就去拿到对应的实际路径中的静态资源,那么静态资源这样就可以访问到了 。
基本全面  springmvc的静态资源无法访问解决方法

文章插图
解决方案3(编译问题)
方案2任意一种配置后楼主即可访问成功静态资源
但仍会有特列存在,在此添加解决方案3 , 如果之前的所有办法都试过了,还是无法访问静态资源,那么一定是编译有问题 。
解决:
首先删除包
去build中一下
如果是maven项目,再打开maven , 点击第二个按钮
再次运行你的项目 , 静态资源得以访问成功!
【基本全面springmvc的静态资源无法访问解决方法】如果本文章对你有所帮助,请点个赞支持一下作者~