当前位置: 首页 > 知识库问答 >
问题:

Simple Spring Boot项目出现404错误

尚声
2023-03-14

我正在学习Spring Boot,但我无法执行基本的“Hello World”程序。我已经使用https://start.spring.io/构建了基本项目,并按照以下代码片段更新了代码:

Spring靴主类:

package com.rohit.springboot.practice.selfspringboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;


@SpringBootApplication
@ComponentScan(basePackages = "com.rohit.springboot.practice.selfspringboot")
public class SelfSpringBootApplication {

    public static void main(String[] args) {
        SpringApplication.run(SelfSpringBootApplication.class, args);
    }

}

控制器类:

package com.rohit.springboot.practice.selfspringboot;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ThisWorldSpringContainer {
    
    
    @RequestMapping(method = RequestMethod.GET, value = "/hello-world")
    public String getWelcome() {
        
        return "Hello World";
    }

}

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.6.6</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.rohit.springboot.practice</groupId>
    <artifactId>self-spring-boot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>self-spring-boot</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>8</java.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-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

错误:

Message: The requested resource [/hello-world] is not available

我知道这个问题已经被很多人问过了,但我已经仔细阅读了这些答案,并尝试了那些给出的答案,但没有成功。

使用的技术有Java 8、Tomcat 9、Spring Boot 2.6.6等。

请帮忙。

共有2个答案

金秦斩
2023-03-14

我已将您的代码修改如下:

@RequestMapping
@RestController
public class ThisWorldSpringContainer {
    
    @GetMapping(value = "/hello-world")
    public String getWelcome() {
        
        return "Hello World";
    }

}

我想你失踪了

@Requestmapping

在类级别

吕俊美
2023-03-14

由于您没有Tomcat依赖关系,我暗示您希望应用程序在独立的Tomcat实例中运行。另外,根据您的评论,我相信您正在开发Eclipse或Spring工具套件(实际上是相同的)。

有了这个,你的问题似乎是缺乏一种打包方法。Tomcat需要它将在一个包中运行的代码。这个包是一个类似zip的文件,扩展名为. war。Maven是根据pom.xml文件处理项目依赖关系的程序,可以将其打包为jar格式的war。由于您在外部Tomcat中运行它,因此您需要war扩展名。所以请将以下行添加到您的pom.xml文件中。它必须与处于同一级别

<packaging>war</packaging>

然后,更新项目(Alt F5,检查项目并点击OK),然后再次尝试运行项目。您应该会在控制台中看到时尚的“SPRING”输出。

现在,由于您是在外部运行此程序,因此需要指定项目的名称,因此应该使用

<代码>http://localhost:8080/

 类似资料:
  • 我试图查看Eclipse(版本Mars.2)中提供的springboot初学者项目,但遇到了错误。 这就是我所做的: 选择spring boot会给我两个新项目: ` 谷歌搜索此错误导致我进入maven存储库,所以我导入ch.qos.logback 再次运行(运行作为…- ``` 谢谢你的帮助!

  • 在此处输入图像描述 WEB内容: 在此处输入图像描述 我不知道这个项目有什么问题,我发誓在我来这里问这个问题之前,我真的试图搜索结果。希望你们帮帮我,谢谢!

  • 我刚刚安装了一台Ubuntu服务器,并把我的文件从另一台服务器转移到这台服务器上。< br >我已将文件复制到: /var/www/DIRECTORY 当我打开浏览器并输入IPADDRESS/DIRECTORY时,页面可以完美加载。 当然,我不希望人们通过一个目录访问我的网站,所以我试图改变我的服务器的DocumentRoot。所以我去了 /etc/apache2/sites-available/

  • 我正在使用eclipse、m2eclipse插件和maven创建一个新的maven项目,遵循以下步骤,http://o7planning.org/en/10101/install-maven-into-eclipse 但是,当创建一个新的maven项目时,没有JRE系统库,也没有maven库。只有如下所示的src、target和pom.xml。这正常吗?如果没有,我该如何避免呢?谢谢! 单击以获取

  • HTTP Status 404-/StrutsHelloWorld/Login.jsp类型状态报告消息/StrutsHelloWorld/Login.jsp说明请求的资源(/StrutsHelloWorld/log in . JSP)不可用。Apache Tomcat/7.0.26 我已经按照分步指南 http://viralpatel.net/blogs/tutorial-create-stru

  • 问题内容: 我正在按照本教程进行操作,试图在我的MVC3应用程序中包含一个SPA,该SPA由控制器DemoController.cs调用。 当应用尝试通过导航栏加载不同的模板(about.html,contact.html和home.html)时,出现404错误。 这是我的目录结构(不包括MVC3应用程序的其余部分): 这是我的script.js文件,我在其中定义路由。 这是我的index.htm