springMVC配置後訪問圖片問題

雖然很簡單,

但是有時候怎麼圖片都顯示不出來,路徑老是搞錯,現在上傳一個能正確顯示的例子


項目概況如下圖所示



jsp代碼如下

<%@ page pageEncoding="UTF-8" contentType="text/html" isELIgnored="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>test jsp</title>


</head>


<body>

<img src="${pageContext.request.contextPath}/jsp/images/Gateway_Learn.jpg" width="356" height="111" align="middle">
<span class="title">1111Ÿ</span><br/>

</body>


</html>


部署到服務器,然後訪問url:http://localhost:8888/jsp_day3/test.jsp即可


顯示不了圖片的原因,有個項目我配置了springMVC,這樣就顯示不出圖片了,原因:

由於spring mvc攔截了所有請求,所以當你設置 

<!--配置springMVC前端控制器-->
<servlet>
<servlet-name>mvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

的時候會影響到靜態資源文件的獲取,這樣就需要有這個標籤來幫你分類完成獲取靜態資源的責任。

打開mvc-servlet.xml文件,添加如下配置 

<mvc:resources location="/WEB-INF/view/images/" mapping="/images/**"/>  
<mvc:resources location="/WEB-INF/view/js/" mapping="/js/**"/>  
<mvc:resources location="/WEB-INF/view/css/" mapping="/css/**"/>  
    <mvc:default-servlet-handler />  

然後把相應的資源都放入/WEB-INF/view/目錄下

關鍵是<mvc:default-servlet-handler />  起作用,上面的三行都可以不要。

這樣就會出現另一個問題

增加<mvc:default-servlet-handler/>,只能訪問jsp和靜態文件,訪問action則報404錯誤

解決辦法:

再增加如下配置

<mvc:annotation-driven />


問題解決,贊一個吧



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章