我无法在我在Maven中构建的Spring应用程序中映射我的静态资源,如css和js文件。
我已经遵循了与此问题相关的指南,但它仍然为我的资源提取了404状态。
我有以下目录列表
/src/main/webapp/
\
WEB-INF
\
views
applicationContext.xml
dispatcherServlet.xml
web.xml
resources
\
themes
\
bootstrap
\
css (bootstrap.min.css is inside)
js (bootstrap.min.js is inside)
我的dispatcher-servlet.xml中有mvc:resource映射
<mvc:resources mapping="/resources/**" location="/resources/themes/bootstrap/"/>
以下是我的LoginPage.jsp文件。
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<!DOCTYPE html>
<html>
<head>
<spring:url value="/resources/css/bootstrap.min.css" var="loginCss" />
<spring:url value="/resources/js/bootstrap.min.js" var="loginJs" />
<link href="${loginCss}" rel="stylesheet" />
<script src="${loginJs}"></script>
...
</html>
检查后,它将获取404状态下面的URL:
http://localhost:8080/{project-name}/resources/css/bootstrap.min.css
http://localhost:8080/{project-name}/resources/css/bootstrap.min.js
答案 0 :(得分:0)
检查web.xml上的servlet-mapping。
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
修改强>
将以下servlet映射添加到web.xml
<servlet-mapping>
<servlet-name>springServlet</servlet-name>
<url-pattern>/resources/**</url-pattern>
</servlet-mapping>