Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法在Spring4中加载静态文件_Java_Spring - Fatal编程技术网

Java 无法在Spring4中加载静态文件

Java 无法在Spring4中加载静态文件,java,spring,Java,Spring,我正在尝试创建一个示例SpringMVC项目,但是静态文件没有被加载 加载资源失败:服务器响应状态为404(未找到) 如果有人能帮我解决这个问题,我将不胜感激 配置代码 初始值设定项代码 JSP代码 学生报名表 更改AddResourceHandler定义,如下所示,然后尝试:- @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResou

我正在尝试创建一个示例SpringMVC项目,但是静态文件没有被加载

加载资源失败:服务器响应状态为404(未找到)

如果有人能帮我解决这个问题,我将不胜感激

配置代码 初始值设定项代码 JSP代码

学生报名表

更改AddResourceHandler定义,如下所示,然后尝试:-

@Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    }

可能是你做了一个错误的映射

 registry.addResourceHandler("/static/**").addResourceLocations("/static/");
这段代码应该可以用,我在本地机器上测试过。 addResourceLocations(“/static/”)最后一个斜杠是强制的 在sping-core-4.2.5-release.jar中,StringUtils.java包含以下代码

public static String applyRelativePath(String path, String relativePath) {
        int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR);
        if (separatorIndex != -1) {
            String newPath = path.substring(0, separatorIndex);
            if (!relativePath.startsWith(FOLDER_SEPARATOR)) {
                newPath += FOLDER_SEPARATOR;
            }
            return newPath + relativePath;
        }
        else {
            return relativePath;
        }
}
如果不以斜杠结束,此方法将返回relativePath


仅供参考,当我查看您的附加图片时,我在您的项目中找到了“bootstrap.min.css”。不要忘记使用正确的文件名。我希望我的建议能帮助你下载F2:如果你让它自己下载,而不是我下载css文件并告诉Spring它们在哪里,您必须让js文件或其他东西发布到web上,这不是您自己控制的。建筑物所有者的目的是如何在Spring MVC项目中加载静态文件。我认为问题出在
addResourceLocations
的代码上,应该是
addResourceLocations(“classpath:/static/”

请使用url中的上下文路径:

<c:url value='${pageContext.request.contextPath}/static/css/bootstrap.css' />

让我知道这是否有效。

更改AddResourceHandler,如

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/**").addResourceLocations("/");
}

并更改css文件名“bootstrap.min.css”

您的jsp文件位于何处?在
WEB-INF
WEB-INF/{some_other_folder}
中,JSP文件位于'WEB-INF\views\welcome.JSP'您能试试吗
我做了更改,但仍然不起作用,但错误被更改,如下所述'localhost/:10 GET'跟随我的答案都德。噢,很抱歉,不是到F2,而是到F1更改了代码-'registry.addResourceHandler(“/static/**”).addResourceLocations(“/static/”)'仍然不起作用
public static String applyRelativePath(String path, String relativePath) {
        int separatorIndex = path.lastIndexOf(FOLDER_SEPARATOR);
        if (separatorIndex != -1) {
            String newPath = path.substring(0, separatorIndex);
            if (!relativePath.startsWith(FOLDER_SEPARATOR)) {
                newPath += FOLDER_SEPARATOR;
            }
            return newPath + relativePath;
        }
        else {
            return relativePath;
        }
}
<c:url value='${pageContext.request.contextPath}/static/css/bootstrap.css' />
BPMEI/static/css/bootstrap.css
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/**").addResourceLocations("/");
}