关于用jsp启动Spring

关于用jsp启动Spring,spring,spring-boot,jsp,controller,pom.xml,Spring,Spring Boot,Jsp,Controller,Pom.xml,我不熟悉java和spring boot。现在我正在做一个基于Spring boot、security和MVC视频的项目。我正在使用MySql数据库。我已经成功地完成了,使用邮递员以下的视频。我想用jsp文件做这个项目。但我不知道怎么做。我遇到了大约500个错误(异常处理模板“索引”:错误解析模板[index],模板可能不存在或任何配置的模板解析程序都无法访问)。请任何人给我任何解决方案 @RestController @RequestMapping("/api/auth")

我不熟悉java和spring boot。现在我正在做一个基于Spring boot、security和MVC视频的项目。我正在使用MySql数据库。我已经成功地完成了,使用邮递员以下的视频。我想用jsp文件做这个项目。但我不知道怎么做。我遇到了大约500个错误(异常处理模板“索引”:错误解析模板[index],模板可能不存在或任何配置的模板解析程序都无法访问)。请任何人给我任何解决方案

@RestController
@RequestMapping("/api/auth")
@AllArgsConstructor
public class AuthController {

private final AuthService authService;
private final RefreshTokenService refreshTokenService;

@RequestMapping(value="/")
public String index(Model model) throws IOException{
    System.out.println("Spring Reddit Clone");
    String message="Welcome To Spring Reddit Clone!!!!!!";
    System.out.println(message);
    model.addAttribute("welcomeMessage", message);
    return "index";
}
/*
@RequestMapping(value="/",method=RequestMethod.GET)
public String index(ModelMap m){
    System.out.println("Spring Reddit Clone");
    String message="Welcome To Spring Reddit Clone!!!!!!";
    System.out.println(message);
    m.addAttribute("welcomeMessage", message);
    return "index";
}*/

@PostMapping("/signup")
public String signup(@RequestBody RegisterRequest registerRequest) {
      authService.signup(registerRequest);
    return "index.jsp";
}

@PostMapping("/login")
public AuthenticationResponse login(@RequestBody LoginRequest loginRequest){
    return authService.login(loginRequest);
}

@GetMapping("accountVerification/{token}")
public ResponseEntity<String> verifyAccount(@PathVariable String token) {
    authService.verifyAccount(token);
    return new ResponseEntity<>("Account Activated Successfully", OK);
}

@PostMapping("refresh/token")
public AuthenticationResponse refreshToken(@Valid @RequestBody RefreshTokenRequest 
refreshTokenRequest){
    return authService.refreshToken(refreshTokenRequest);
}

@PostMapping("/logout")
public ResponseEntity<String> logout(@Valid @RequestBody RefreshTokenRequest refreshTokenRequest){
    refreshTokenService.deleteRefreshToken(refreshTokenRequest.getRefreshToken());
    return ResponseEntity.status(OK).body("Refresh Token Deleted Successfully!!!!");
}
@RestController
@请求映射(“/api/auth”)
@AllArgsConstructor
公共类授权控制器{
私人最终授权服务;
专用最终刷新令牌服务刷新令牌服务;
@请求映射(value=“/”)
公共字符串索引(模型)引发IOException{
System.out.println(“Spring Reddit克隆”);
String message=“欢迎使用Spring Reddit克隆!!!!!!!”;
System.out.println(消息);
model.addAttribute(“welcomeMessage”,message);
返回“索引”;
}
/*
@RequestMapping(value=“/”,method=RequestMethod.GET)
公共字符串索引(ModelMap m){
System.out.println(“Spring Reddit克隆”);
String message=“欢迎使用Spring Reddit克隆!!!!!!!”;
System.out.println(消息);
m、 addAttribute(“welcomeMessage”,消息);
返回“索引”;
}*/
@邮戳(“/注册”)
公共字符串注册(@RequestBody RegisterRequest RegisterRequest){
authService.signup(registerRequest);
返回“index.jsp”;
}
@后映射(“/login”)
公共身份验证响应登录(@RequestBody LoginRequest LoginRequest){
返回authService.login(loginRequest);
}
@GetMapping(“accountVerification/{token}”)
公共响应身份验证帐户(@PathVariable字符串令牌){
authService.verifyAccount(令牌);
返回新的响应状态(“账户激活成功”,确定);
}
@后映射(“刷新/令牌”)
公共AuthenticationResponse refreshToken(@Valid@RequestBody RefreshTokenRequest
刷新(请求){
返回authService.refreshToken(refreshTokenRequest);
}
@后映射(“/注销”)
公共响应身份注销(@Valid@RequestBody refreshttokenrequest refreshttokenrequest){
refreshTokenService.deleteRefreshToken(refreshTokenRequest.getRefreshToken());
返回ResponseEntity.status(OK).body(“刷新令牌成功删除!!!!”);
}
}

这是我的jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<html  xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>SpringRedditClone!!!</title>
</head>
<body>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

${welcomeMessage}
<font face="verdana" size="2">
     <h2>Spring Reddit Clone!!!!!</h2>
  </font>

  <div><a href="login.jsp">Login</a> </div>

  <div><a href="signup.jsp">Signup</a></div>
 </body>
 </html>

SpringRedditClone!!!
${welcomeMessage}
春天红点克隆!!!!!
但我得到的是“索引”字符串,而不是jsp中的链接

这是我的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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<packaging>war</packaging>
<artifactId>reddit_clone</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>reddit_clone</name>
<description>Demo project for Spring Boot</description>

<properties>
    <java.version>11</java.version>
    <org.mapstruct.version>1.3.1.Final</org.mapstruct.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!-- JWT related dependencies-->
    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-api</artifactId>
        <version>0.10.5</version>
    </dependency>
    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-impl</artifactId>
        <scope>runtime</scope>
        <version>0.10.5</version>
    </dependency>
    <dependency>
        <groupId>io.jsonwebtoken</groupId>
        <artifactId>jjwt-jackson</artifactId>
        <scope>runtime</scope>
        <version>0.10.5</version>
    </dependency>
    <!-- For Displaying time as Relative Time Ago ("Posted 1 Day ago"),
     as this is a Kotlin library, we also need Kotlin runtime libraries-->
    <dependency>
        <groupId>com.github.marlonlom</groupId>
        <artifactId>timeago</artifactId>
        <version>4.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-jdk8</artifactId>
        <version>${kotlin.version}</version>
    </dependency>
    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-test</artifactId>
        <version>${kotlin.version}</version>
        <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.persistence/javax.persistence-api -->
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>javax.persistence-api</artifactId>
        <version>2.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>2.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
        <version>${org.mapstruct.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-jasper -->
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-jasper</artifactId>
        <version>9.0.37</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>5.2.3.RELEASE</version>
    </dependency>


</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version> <!-- or newer version -->
            <configuration>
                <source>1.8</source> <!-- depending on your project -->
                <target>1.8</target> <!-- depending on your project -->
                <annotationProcessorPaths>
                    <path>
                        <groupId>org.mapstruct</groupId>
                        <artifactId>mapstruct-processor</artifactId>
                        <version>${org.mapstruct.version}</version>
                    </path>
                    <path>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                        <version>1.18.8</version>
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-plugin</artifactId>
            <version>${kotlin.version}</version>
            <executions>
                <execution>
                    <id>compile</id>
                    <phase>process-sources</phase>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                    <configuration>
                        <sourceDirs>
                            <source>src/main/java</source>
                            <source>target/generated-sources/annotations</source>
                        </sourceDirs>
                    </configuration>
                </execution>
            </executions>
        </plugin>

    </plugins>
</build>

4.0.0
org.springframework.boot
spring启动程序父级
2.3.3.2发布
com.example
战争
reddit_克隆
0.0.1-快照
reddit_克隆
SpringBoot的演示项目
11
1.3.1.最终版本
org.springframework.boot
spring引导启动器数据jpa
org.springframework.boot
春季启动邮件
org.springframework.boot
弹簧启动安全
org.springframework.boot
SpringBootStarterWeb
mysql
mysql连接器java
运行时
org.projectlombok
龙目
真的
org.springframework.boot
弹簧起动试验
测试
org.junit.vintage
朱尼特老式发动机
org.springframework.security
弹簧安全性试验
测试
io.jsonwebtoken
JJWTAPI
0.10.5
io.jsonwebtoken
jjwtimpl
运行时
0.10.5
io.jsonwebtoken
杰克森
运行时
0.10.5
com.github.marlonlom
很久以前
4.0.1
org.jetbrains.kotlin
kotlin-stdlib-jdk8
${kotlin.version}
org.jetbrains.kotlin
科特林试验
${kotlin.version}
测试
javax.persistence
javax.persistence-api
2.2
javax.validation
验证api
2.0.1.最终版本
org.springframework.boot
弹簧启动装置
org.mapstruct
映射结构
${org.mapstruct.version}
org.apache.tomcat
雄猫贾斯珀
9.0.37
org.springframework
弹簧网
5.2.3.1发布
org.springframework.boot
springbootmaven插件
org.apache.maven.plugins
maven编译器插件
3.5.1 
1.8
1.8
org.mapstruct
mapstruct处理器
${org.mapstruct.version}
org.projectlombok
龙目
1.18.8
org.jetbrains.kotlin
kotlin maven插件
${kotlin.version}
编译
过程源
编译
src/main/java
目标/生成的源/注释

您的“索引”方法似乎很好

但我认为您的问题来自于使用@RestController而不是@Controller

如果我没有记错SpringMVC是如何工作的,当在@Controller中使用返回字符串的方法时,spring将查找一个视图,返回的字符串作为它的ID。如果找到,它将转发到该视图

@再