首页 > 解决方案 > 弹簧控制器 Thymeleaf 404

问题描述

我正在开发一个带有 thymeleaf 的简单 servlet,它通过按下按钮来更改文本。

问题是,当我在 Spring tool suite 4.4 中将它作为 Spring 应用程序运行时,它可以工作,但是当将其编译为 servlet 并将其上传到 tomcat 服务器时,会出现此错误: 404错误

这里的代码:

主控制器.java

 package com.example.demo;

    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.GetMapping;

    @Controller
    public class MainController {


    @GetMapping("/saludo")
    public String saludo(Model model) {
    model.addAttribute("saludo", "bondia");
    return "index"; 
    }

    @GetMapping("/nosaludo")
    public String nosaludo(Model model) {
    model.addAttribute("saludo", "no te salud");
    return "index"; 
    }

    @GetMapping("/despido")
    public String despido(Model model) {
    model.addAttribute("saludo", "Adeu");
    return "index"; 
    }
    }

ServletInitializer.java

package com.example.demo;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(CreantServletApplication.class);
    }

}

索引.html

<html xmlns:th="http://www.thymeleaf.org">
    <head>
    </head>
    <body>
            <form action="./saludo">
                <input type="submit" value="Saludar">
            </form>
            <form action="./nosaludo">
                <input type="submit" value="No saludar">
            </form>
            <form action="./despido">
                <input type="submit" value="Despedirse">
            </form>
            <h1 th:text="${saludo}">Text que es modificara</h1>
    </body>
</html>

标签: springspring-bootspring-mvc

解决方案


请发布您的完整请求网址。如果使用 war 文件将其部署在 Tomcat 中,则需要将上下文根添加到 url。

默认为:

http://<host><port>/<war-name-without-file-type>/saludo

推荐阅读