为什么我不能在spring boot应用程序中为不同页面的resources / static文件夹添加css和js文件?

时间:2018-05-04 04:34:16

标签: jsp spring-boot

我尝试从resources / static文件夹中为不同的页面添加css和js文件。我有两个页面index.jsp和validate-configuration.jsp。对于index.jsp,添加css和js文件的工作正确(见下图)。 enter image description here

但是当我去验证 - configuration.jsp时,css和js文件不能下载(见下图)。 enter image description here

从控制台输出: enter image description here 我们可以看到相对路径的变化。如果早期就像(index.jsp):http://localhost:8090/static/style.css http://localhost:8090/static/js/jquery-2.1.1.min.js 然后它变成这样: http://localhost:8090/validation/static/style.css http://localhost:8090/validation/static/js/jquery-2.1.1.min.js Index.jsp html代码:

    <!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="page" tagdir="/WEB-INF/tags" %>

<html lang="en">
<head>

    <link rel="icon" type="image/x-icon" href="static/favicon.ico">
    <link rel="stylesheet" href="static/style.css">
    <script type="text/javascript" src="static/js/jquery-2.1.1.min.js"></script>

</head>
<body>
</body>
</html>

验证-configuration.jsp:

    <!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" 
pageEncoding="utf-8"%>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="page" tagdir="/WEB-INF/tags" %>

<html lang="en">
<head>

    <link rel="icon" type="image/x-icon" href="static/favicon.ico">
    <link rel="stylesheet" href="static/style.css">
    <script type="text/javascript" src="static/js/jquery-2.1.1.min.js"> 
</script>

</head>
<body>
</body>
</html>

静态资源的文件夹是src / main / resources / static /.

资源的Yml配置: mvc: static-path-pattern: /static/** 项目结构:     [![在此处输入图像说明] [4]] [4]

我很感激您的建议。

2 个答案:

答案 0 :(得分:0)

在Spring-boot文档中,您可以读取默认情况下Spring-boot读取静态资源的位置。

默认情况下,Spring Boot将从类路径中的/ static(或/ public或/ resources或/ META-INF / resources)目录或ServletContext的根目录中提供静态内容。它使用Spring MVC中的ResourceHttpRequestHandler,因此您可以通过添加自己的WebMvcConfigurerAdapter并覆盖addResourceHandlers方法来修改该行为。 如果您将静态文件的位置更改为默认文件,则应该可以通过/css/style.css访问它们

Here you can find a simple project structure

答案 1 :(得分:0)

我不知道为什么我不能添加项目结构的图片。我这样做: enter image description here