SpringMVC中jsp等页面文件引用静态资源文件的多种方法

分两种情况:SpringMVC拦截静态资源和SpringMVC不拦截静态资源

一:SpringMVC不拦截静态资源,即DispatcherServlet配置拦截*.do或*.action之类的。

(1)只能将静态资源文件放到WEB-INF外,要不然无法在页面文件中引用到静态资源文件。具体原因查看《对JavaWeb项目中WEB-INF目录的理解》

(2)页面文件即可放在WEB-INF外,也可放在WEB-INF里,这对引用静态资源没有影响;只需要正确配置视图解析器中前缀路径即可。如下:

(3)在Controller渲染出来的jsp页面中引用静态资源文件时,路径如下:

二:SpringMVC拦截静态资源,即DispatcherServlet配置拦截"/"。

(1)可以将静态资源放到WEB-INF里,也可以将静态资源放到WEB-INF外;由于SpringMVC拦截了静态资源,所以无论静态资源放在哪里,都要经过SpringMVC来进一步处理,即使用<mvc:resources />处理;所以只需要正确配置<mvc:resources />即可。不了解<mvc:resources/>可以查看《SpringMVC对静态资源的处理》

如果将静态资源放在WEB-INF外,则还可以使用《SpringMVC对静态资源的处理》中的方案一和方案三来处理。

(2)页面文件即可放在WEB-INF外,也可放在WEB-INF里,这对引用静态资源没有影响;前面已经讲述过了。

(3)在Controller渲染出来的jsp页面中引用静态资源文件时,具体路径要配合<mvc:resources />中的mapping属性,具体路径示例如下:

原文地址:https://www.cnblogs.com/hzcya1995/p/13302450.html