如何解决我运行时无法启动我的spring boot项目,错误404
这是我的控制器,应该打开索引页面
@Controller
public class index {
@RequestMapping("/index")
public String index() {
return "index";
}
}
这是我的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.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zetcode</groupId>
<artifactId>cinemaweb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>cinemaweb</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</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</groupId>
<artifactId>spring-web</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
这些是项目目录
当我运行项目浏览器时,向我显示“ HTTP状态404 –找不到”,我阅读了其他文章,但找不到解决方法,请帮帮我
我尝试使用这2个链接 http:// localhost:8080 / cinemaweb或 http:// localhost:8080 / index
解决方法
使用@RestController
代替@Controller
@RestController
public class index
{
@GetMapping("/index")
public String index()
{
return "index";
}
}
,
- 最好使用@RestController而不是@Controller
- 然后在方法上使用@GetMapping(value =“ / index”)-而不是@RequestMapping 那么网址是:http:// localhost:8080 / index
如果您想将String作为对象返回,请使用@RestController或@ResonseBody注释,如下所示
@Controller
public class MainController {
@RequestMapping(value = "/",method = RequestMethod.GET)
public @ResponseBody String get() {
return "index";
}
}
我也强烈建议您将spring-web依赖替换为spring-boot-starter-web,我 就是这个意思
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
比Spring Boot还要照顾所有必需的bean,例如调度程序servlet等。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。