Java 弹簧罐';找不到我的html页面
我是春天的新手。我正在尝试做一些简单的事情,只是让spring阅读我的一个html页面。我知道这是非常基本的,但我已经尝试了许多教程,无法使其工作 下图是我的项目文件夹 这是我的控制器Java 弹簧罐';找不到我的html页面,java,html,spring,spring-boot,Java,Html,Spring,Spring Boot,我是春天的新手。我正在尝试做一些简单的事情,只是让spring阅读我的一个html页面。我知道这是非常基本的,但我已经尝试了许多教程,无法使其工作 下图是我的项目文件夹 这是我的控制器 package com.springbootrecipes.controllers; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.stereotype.Con
package com.springbootrecipes.controllers;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@EnableAutoConfiguration
@Controller
public class RecipeController {
@RequestMapping("/ola")
public String olaa() {
return "index";
}
@RequestMapping("/")
public String ola() {
return "/index";
}
@RequestMapping("/ei")
@ResponseBody
public String ei() {
return "Um ola pra quem ta chegando";
}
}
这是我的主要课程
package com.springbootrecipes.springbootrecipes;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan(basePackages={"com.springbootrecipes.controllers"})
public class SpringbootRecipesApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootRecipesApplication.class, args);
}
}
我还添加了pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.springboot-recipes</groupId>
<artifactId>springboot-recipes</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springboot-recipes</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.M1</version>
</parent>
<pluginRepositories>
<pluginRepository>
<id>repository.spring.release</id>
<name>Spring GA Repository</name>
<url>https://repo.spring.io/plugins-release/</url>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>repository.spring.milestone</id>
<name>Spring Milestone Repository</name>
<url>https://repo.spring.io/milestone</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf -->
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
</project>
这里需要视图解析器
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
@Bean
@Description("Thymeleaf template resolver serving HTML 5")
public ClassLoaderTemplateResolver templateResolver() {
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setPrefix("templates/");
templateResolver.setCacheable(false);
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode("HTML5");
templateResolver.setCharacterEncoding("UTF-8");
return templateResolver;
}
@Bean
@Description("Thymeleaf template engine with Spring integration")
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver());
return templateEngine;
}
@Bean
@Description("Thymeleaf view resolver")
public ViewResolver viewResolver() {
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine());
viewResolver.setCharacterEncoding("UTF-8");
return viewResolver;
}
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("index");
}
}
或者,如果您想让spring boot自动处理它,那么请使用thymeleaf stater
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
org.springframework.boot
弹簧启动装置
而不是
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
org.thymeleaf
百里香
2.1.3.1发布
thymeleaf stater将处理视图解析器您不需要定义viewresolver bean您必须更改
pom.xml中的thymeleaf
依赖项
您应该使用spring boot
为thymeleaf
自动配置提供的依赖项
插入:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
org.springframework.boot
弹簧启动装置
而不是:
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
org.thymeleaf
百里香
2.1.3.1发布
您是否尝试将index.html
保存在静态文件夹中。此外,您需要指定完整路径才能访问页面,即/index.html
应用程序中有什么。属性?如果转到http://localhost:8080
?我收到一个404错误-->出现了一个意外错误(类型=未找到,状态=404)。没有可用的消息@ansh ok,如果我将html文件放在静态文件夹中,并将路径设置为/index.html,它就会工作。但为什么我不能在templates文件夹中使用它?user6690200,application.properties为空
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>