【发布时间】:2018-08-12 21:24:25
【问题描述】:
我是 Spring 框架的新手,我遇到了映射的下一个问题:
我创建了一个名为 HomeController 的控制器和一个名为 index.html 的视图。
我将注解@Controller 放在类HomeController 的名称上方,并创建了一个方法bienvenido,并在其中编写了上面的注解@RequestMapping("/bienvenido")。
问题是,尽管我尝试重新运行服务器并清理缓存,但我永远无法通过 localhost:port/bienvenido 访问 index.html。但是如果我只写 localhost:port/,那么 index.html 就会显示出来。
我正在查找信息,每个人都使用这种方式或类似方式来执行此操作,我不明白发生了什么。
这是我的课程和我的 html 文件:
package controllers;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping("/bienvenido")
public String bienvenido() {
return "index";
}
}
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>Bienvenido!</h1>
</body>
提前谢谢你。
【问题讨论】:
-
你能展示你的包结构吗?您的主(BootApplication)类是否正确扫描了您的
@Controller? -
您已经在控制器包中定义了 HomeController。您的主类是否也在控制器中定义。如果不是,您需要在主类中指定您的基类。如果可能,添加项目结构
-
嗨,这是我的包结构:com.learning.bienvenido -BienvenidoApplication.java 控制器 -HomeController 这是我的主类包 com.learning.bienvenido;导入 org.springframework.boot.SpringApplication;导入 org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication 公共类 BienvenidoApplication { public static void main(String[] args) { SpringApplication.run(BienvenidoApplication.class, args); } } 我没有做任何配置。
-
当您运行 localhost:port/ 时,它显示的是您的索引页面还是另一个索引页面?如果是你的索引页,你有没有@RequestMapping("/");在某处或在配置文件中定义?
标签: java spring spring-boot routing annotations