2017-06-13 30 views
1

我无法将我的静态资源(如css和js文件)映射到构建于Maven的Spring应用程序中。无法映射我的Spring Maven项目的资源

我已经遵循了与此问题相关的指导方针,但它仍然为我的资源提供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) 

我有MVC:资源映射在我的调度员servlet.xml中

<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种状态:

http://localhost:8080/{project-name}/resources/css/bootstrap.min.css 
http://localhost:8080/{project-name}/resources/css/bootstrap.min.js 
+0

如果你调用'HTTP://本地主机:8080/{项目名称}/css/bootstrap.min.css'? – StanislavL

+0

@StanislavL仍然不工作,资源的xml映射是否仍然适用于Spring 4.3.8版本? – bpunzalan

+0

我已经访问的资源文件,链接如下: 通过'http://本地主机:8080/{项目名称} /资源/主题/引导/ CSS/bootstrap.min.css' 但是,它仍然不自**按照** mvc:resources **的映射规定为** _“/ resources/*”_ **? – bpunzalan

回答

0

检查web.xml中的Servlet映射。

<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> 
+0

低于我servlet映射是: ' 调度 * html的 ' – bpunzalan

+0

尝试将另一个servlet映射添加到resources文件夹中,
' 调度程序 /resources/** softus