该篇博客实现SpringMVC的< mvc :resources location=”” mapping=”“/ >访问静态资源文件,也记录了一些坑
一、项目目录
注意清楚目录结构,笔者第一次的时候在这个上面填坑填了好久,这个坑文后会提出来
二、web.xml配置
注意:/ 会匹配所有url,但不包括 * .jsp,* .html,* .js这样的文件这样的文件。也就是*.jsp不会进入Spring的DispatcherServlet
,所以需要在springmvc中来加载指定静态资源文件,之后在配置springmvc配置文件中会解释
三、创建静态资源文件(注意要在根目录下,即WebContent目录下)
四、创建spring配置文件
注意:
- 必须有,否则会使requestMapping失效。
- location:指location指定的目录不要拦截,直接请求,这里指在根目录下的resources文件下的所有文件
- mapping:值在resources文件下的所有文件(**代表所有文件)
- 所有意思就是在根目录下resources的所有文件不会被DispatcherServlet拦截,直接访问,当做静态资源交个Servlet处理
五、请求处理控制器
六、创建视图
可以看到返回控制器success,根据springmvc配置文件前缀后缀,在WEB-INF下创建views,创建success.jsp文件
注意(之前在这里遇坑了):该jsp页面加载了一张图片和一个index.css文件
1、首先知道该success.jsp页面在WEB-INF下,之前一直采用:resources/css/index.css和resources/images/tt.jpg,但一直找不到,无法加载css文件和图片,后来才发现,如果success.jsp文件在webcontent根目录下的话这样是对的,但此时在根目录下的WEB-INF下,所以需要回到根目录利用(../)(注意因为控制器中是需要写两个地址:springmvc/mvcsources,如果没有@RequestMapping(“/springmvc”),那么直接就resources/images/tt.jpg就可以了)
2、原始照片的后缀是JPG大写,我写路径时写为jpg小写时图片加载不出,所以记得在这里需要大小写注意下
七、测试
地址输入:
http://localhost:8080/Springmvc_mvcresources/springmvc/mvcresources
结果: