试图获取mvc资源来提供我的静态资源

时间:2012-03-27 22:24:27

标签: java spring spring-mvc

我正在使用jetty和tomcat进行本地开发。

我的图片,css,javascript文件位于:

/src/main/webapp/assets

文件夹资产包含:

/src/main/webapp//assets/images
/src/main/webapp//assets/css
/src/main/webapp//assets/images/

我的春季配置文件有:

 <mvc:resources mapping="/assets/**" location="/" />

我对映射和位置的含义感到困惑?

我认为映射意味着只有具有以下模式的url的那个spring才会尝试提供静态文件:

www.example.com/assets/

位置有什么作用?

我的html目前有:

src="/assets/images/logo.gif"

我尝试过使用位置值,但由于某些原因我无法渲染图像。

有人可以为我清楚吗?

1 个答案:

答案 0 :(得分:5)

如果您的项目结构有/src/main/webapp/assets/images,那么您想使用:

<mvc:resources mapping="/assets/**" location="/assets/" />

然后在JSP参考文件中作为

src="${pageContext.request.contextPath}/assets/images/logo.gif"

更常见的是拥有像/src/main/webapp/images|css|js这样的项目结构,然后使用:

<mvc:resources mapping="/assets/**" location="/" />

但仍将网址保留为${pageContext.request.contextPath}/assets/images/logo.gif

相关问题