雖然很簡單,
但是有時候怎麼圖片都顯示不出來,路徑老是搞錯,現在上傳一個能正確顯示的例子
項目概況如下圖所示
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 />
問題解決,贊一個吧