我正在使用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"
我尝试过使用位置值,但由于某些原因我无法渲染图像。
有人可以为我清楚吗?
答案 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