解决ssm框架配置后无法访问css,js等静态资源的问题
1. 问题描述
最近在学习ssm框架,以前一直用的是springboot,以为有了使用springboot框架的经验会很容易上手,没想到还是遇到了很多坑。
这次要说的是在前端jsp整合layui框架时出现了问题,首先先给出我的项目目录

我在整合layui时还是像以前使用html一样用相对路径去引用layui,结果发现404,然后我开始寻找问题,最后发现在浏览器是输入路径也访问不了静态文件。那我们项目里要引用其他的一些框架,要引用静态文件怎么办呢,接下来开始解决。
2.问题原因

配置前端控制器,既"<url-pattern>/</url-pattern>",会拦截所有的请求,只有类似/login的请求可以通过,然后转到controller,其它类似/hello.html的请求都会被拦截,所以我们想要访问的静态资源全部被他拦截了,虽然这很好保证了资源的安全性,但是我们自己想要访问静态资源也变的更加困难。
3.解决无法访问静态资源的问题
1.在springmvc的配置文件中配置静态资源路径
1.1首先找到spring-mvc.xml(有些同学可能是applicationContext.xml)

1.2修改spring-mvc.xml
首先我们在spring-mvc.xml文件中添加
<mvc:default-servlet-handler/>
<mvc:resources mapping="/static/**" location="/WEB-INF/module/" />
其中location使我们想要访问的静态资源的目录,项目的源路径是resource和webapp下,所以参照我的项目路径就是/WEB-INF/module/。mapping就是地址的映射,我们在访问的时候需要在项目路由的基础上加上/static/

这样设置之后,我就可以访问我的静态资源了。
访问项目中的layui.css

访问成功

在jsp页面中的调用


最后来两句感想(废话)
今天碰到这个问题花了几个小时才解决,自己解决问题的能力还有待加强。
最后。第一次写博客,记录一下踩的坑。
本文详细介绍了在使用SSM框架时遇到的静态资源如CSS、JS无法访问的问题及解决方法。通过在SpringMVC配置文件中添加<mvc:default-servlet-handler/>和<mvc:resources>标签,指定了静态资源的访问路径,解决了前端控制器拦截静态资源的问题。
2112

被折叠的 条评论
为什么被折叠?



