Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.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 找不到Spring启动资源_Java_Spring Boot - Fatal编程技术网

Java 找不到Spring启动资源

Java 找不到Spring启动资源,java,spring-boot,Java,Spring Boot,好的,我用Thymolif开发了一个小型spring boot网站,现在意识到如果我想用maven插件打包所有东西,我就不能使用webapp文件夹 为了解决这个问题,我将所有资源移动到src/main/resources。但是,当我尝试显示任何返回字符串的site simple RequestMapping时,我会不断收到FileNotFoundExceptions: 这是我得到的错误: Caused by: java.io.FileNotFoundException: Could not op

好的,我用Thymolif开发了一个小型spring boot网站,现在意识到如果我想用maven插件打包所有东西,我就不能使用webapp文件夹

为了解决这个问题,我将所有资源移动到src/main/resources。但是,当我尝试显示任何返回字符串的site simple RequestMapping时,我会不断收到FileNotFoundExceptions:

这是我得到的错误:

Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/index.html]
at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:157) ~[spring-web-5.0.0.BUILD-SNAPSHOT.jar:5.0.0.BUILD-SNAPSHOT]
at org.thymeleaf.spring5.templateresource.SpringResourceTemplateResource.reader(SpringResourceTemplateResource.java:103) ~[thymeleaf-spring5-3.0.3.M1.jar:3.0.3.M1]
at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse(AbstractMarkupTemplateParser.java:223) ~[thymeleaf-3.0.3.RELEASE.jar:3.0.3.RELEASE]
... 75 common frames omitted
然后,当Spring试图加载我的错误页面时,我再次遇到相同的错误。 满满的

是的,我知道只有静态文件夹可用。足够测试了


有人能帮我吗?这有点令人沮丧。

如果您使用Thymleaf作为模板引擎,您应该将所有.html文件添加到资源/模板中

我不确定这是否是您的问题,但通常我会将模板目录中的所有html页面放在资源下,将所有js和css文件放在静态目录下

通过这样做,可以轻松访问js和css文件。例如,如果我有css目录和test.css在里面。我可以简单地访问它 所以在我的控制器上,我将返回这样的页面

 @RequestMapping(value="/viewusers",method = RequestMethod.GET)
public String viewUsers(){
    return "users/viewusers";
}

在上面的示例中,我在users目录下有viewusers.html。我的用户目录在模板目录中。

好的,我取得了一些进展。虽然如果我使用默认的模板引擎,它可以正常工作,但一旦我开始使用Thymeleaf引擎,它就会停止工作。显然,如果我想使用thymeleaf,当我需要从SpringResourceTemplateResolver切换到ClassLoaderTemplateResolver时,默认模板引擎可以自动处理类路径


到目前为止,看起来一切正常。哈利路亚

试图将我的测试索引文件复制到src/main/resources/templates,但实际上没有任何更改。您可以将控制器发布到此处吗?@controller public class HomeController{@RequestMappingvalue=/public String index{return index;}在静态目录中,您只放置css、js或图像等静态资源。您不应该放置这些文件,我是说error.html。将所有*.html文件复制到resources/templates。错误应该位于错误文件夹中,名称为4xx.html,用于4xx错误处理。到目前为止,我几乎到处都有index.html文件。没有任何效果。顺便说一句,如果我阅读了源代码正确所有三个文件夹都应该正确处理,因为它们都是由addResourceHandlers添加的。如果您希望有一个默认文件夹,您还可以使用error.html。至少当所有内容仍在webapps文件夹中时,它可以正常工作。