jsp 文件中的 springmvc maven link 个文件
springmvc maven link files in jsp file
我使用eclipse、springmvc 和maven。我在
下创建了一个文件夹
Web 内容 --> WEB-INF --> 资源
我将以下内容添加到我的 servlet 中:
<mvc:resources mapping="/resources/**" location="/WEB-INF/resources/" />
<mvc:annotation-driven />
然后我尝试在我的 index.jsp 文件中包含一张图片。(Web-Content->index.jsp)
<img src = "/resources/images/Logo.png" />
但它没有加载我的图片。我尝试了很多教程,但它不起作用。我想我有一些基本的错误。你能告诉我有什么问题吗?
编辑:
我的服务器得到了这个
<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/" />
在我的 jsp 文件中我这样做了:
<img src="<c:url value="/resources/logo.png" />"/>
我在以下位置获得了带有 logo.png 文件的资源文件夹:
main->resources
main->webapp->resources
main->webapp->WEB-INF->resources
还是不行
我也试过了:
<mvc:resources mapping="/resources/**"
location="/, classpath:/WEB-INF/public-resources/"
cache-period="10000" />
并用
包含图片
/resources/images/logo.png
图片位于
src/main/webapp/images/logo.png
不适合我
编辑:
我猜是这样的:
<mvc:resources mapping="/resources/**" location="/resources/" />
对程序没有影响。我总是可以访问 url http://localhost:8080/test/resources/logo.png
我的 serlvet 中是否有这条 mvc 行并不重要。如果我改变
<mvc:resources mapping="/resources/**" location="/resources/" />
到
<mvc:resources mapping="/resources1/**" location="/resources/" />
我无法使用 http://localhost:8080/test/resources1/logo.png
访问文件,但使用 http://localhost:8080/test/resources/logo.png
问候山姆
顺便说一句,虽然创建 Eclipse 动态 Web 项目并通过 Eclipse 将其转换为 Maven 项目可能不是最好的方法,但它会起作用,因为 Eclipse 会在您的 POM 中放置一个指向 WebContent 的条目目录。看看你可能会在那里找到它。制作动态 Web 项目本身并没有错,但我通常会更改初始目录配置以匹配向导中的 maven 期望并立即转换为 maven 项目。在 POM 上工作比将 jars 复制到 lib 目录容易得多。
否则,您引用的 resources
目录应该位于 war
文件的根目录中。获得它的最佳方法是将 resources
放在 WebContent
目录的根目录下,而不是 WEB-INF
下。尝试将它移到那里,打开 .war 文件并检查内容以确保它在根目录中,然后你就可以开始了。
我使用eclipse、springmvc 和maven。我在
下创建了一个文件夹Web 内容 --> WEB-INF --> 资源
我将以下内容添加到我的 servlet 中:
<mvc:resources mapping="/resources/**" location="/WEB-INF/resources/" />
<mvc:annotation-driven />
然后我尝试在我的 index.jsp 文件中包含一张图片。(Web-Content->index.jsp)
<img src = "/resources/images/Logo.png" />
但它没有加载我的图片。我尝试了很多教程,但它不起作用。我想我有一些基本的错误。你能告诉我有什么问题吗?
编辑:
我的服务器得到了这个
<mvc:annotation-driven />
<mvc:resources mapping="/resources/**" location="/resources/" />
在我的 jsp 文件中我这样做了:
<img src="<c:url value="/resources/logo.png" />"/>
我在以下位置获得了带有 logo.png 文件的资源文件夹:
main->resources
main->webapp->resources
main->webapp->WEB-INF->resources
还是不行 我也试过了:
<mvc:resources mapping="/resources/**"
location="/, classpath:/WEB-INF/public-resources/"
cache-period="10000" />
并用
包含图片/resources/images/logo.png
图片位于
src/main/webapp/images/logo.png
不适合我
编辑:
我猜是这样的:
<mvc:resources mapping="/resources/**" location="/resources/" />
对程序没有影响。我总是可以访问 url http://localhost:8080/test/resources/logo.png
我的 serlvet 中是否有这条 mvc 行并不重要。如果我改变
<mvc:resources mapping="/resources/**" location="/resources/" />
到
<mvc:resources mapping="/resources1/**" location="/resources/" />
我无法使用 http://localhost:8080/test/resources1/logo.png
访问文件,但使用 http://localhost:8080/test/resources/logo.png
问候山姆
顺便说一句,虽然创建 Eclipse 动态 Web 项目并通过 Eclipse 将其转换为 Maven 项目可能不是最好的方法,但它会起作用,因为 Eclipse 会在您的 POM 中放置一个指向 WebContent 的条目目录。看看你可能会在那里找到它。制作动态 Web 项目本身并没有错,但我通常会更改初始目录配置以匹配向导中的 maven 期望并立即转换为 maven 项目。在 POM 上工作比将 jars 复制到 lib 目录容易得多。
否则,您引用的 resources
目录应该位于 war
文件的根目录中。获得它的最佳方法是将 resources
放在 WebContent
目录的根目录下,而不是 WEB-INF
下。尝试将它移到那里,打开 .war 文件并检查内容以确保它在根目录中,然后你就可以开始了。