1.springmvc 框架中在jsp頁面引入靜態資源一直報錯:
jsp頁面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<img alt="測試" src="<%=basePath%>image/bg.jpg" />
</body>
</html>
警告: No mapping found for HTTP request with URI [/spring10.5/image/bg.jpg] in DispatcherServlet with name 'springMVC'
解決方法:
1. <servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
解決方法2:在spring的配置文件中添加如下一行:
<mvc:default-servlet-handler/>
注意,需要是spring3.0.5以上版本
解決方法3
<!-- HandlesHTTP GET requests for /resources/** by efficiently serving up static resourcesin the ${webappRoot}/resources directory –>
<mvc:resourcesmapping="/resources/**" location="/resources/" cache-period="31536000"/>
這個配置告訴spring靜態資源的處理方式。
補充方法:在配置springmvc時:定義視圖解析器的時候順便可以將靜態資源也一起配置
<!-- 靜態資源(js/image/css)的訪問 -->
<mvc:resources location="/js/" mapping="/js/**"/>
<mvc:resources location="/image/" mapping="/image/**"/>
<mvc:resources location="/css/" mapping="/css/**"/>