idea tomcat启动springboot项目404

本文详细介绍了如何在SpringBoot项目中配置Tomcat以避免404错误,包括修改pom文件为war打包方式,引入Thymeleaf依赖,以及在启动类中继承SpringBootServletInitializer实现configure方法。

用idea搭建一个springboot项目后运行Applacation的main方法可以运行。 但是配置tomcat启动总是报错404。

讲下tomcat运行springboot项目的几个点。

1、pom文件中packaging要改成war

<packaging>war</packaging>
2、thymeleaf的依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
3、在启动类中继承SpringBootServletInitializer并实现configure方法,这个类的作用与在web.xml中配置负责初始化Spring应用上下文的监听器作用类似,只不过在这里不需要编写额外的XML文件了。

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
 
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
 
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(DemoApplication.class);
    }
}
 
 

### 解决IDEA启动Spring Boot项目出现404错误的方法 当在IDEA启动Spring Boot应用并访问页面时遇到404错误,这通常意味着请求的资源未找到。可能的原因包括但不限于配置文件设置不当、控制器路径定义有误或是静态资源位置不对。 #### 配置`application.properties`或`application.yml` 确保应用程序的主要配置文件正确设置了服务器端口和其他必要的属性。如果使用的是嵌入式的Tomcat作为Servlet容器,默认情况下它会监听8080端口。对于YAML格式的应用程序配置文件来说: ```yaml server: port: 8081 spring: mvc: static-path-pattern: /static/** ``` 上述代码片段展示了如何更改默认HTTP端口号以及指定静态资源映射模式[^1]。 #### 控制器类与方法上的注解 检查所有的RESTful API接口是否被适当标记了@RequestMapping或其他变体(如@GetMapping, @PostMapping)。下面是一个简单的例子来展示怎样创建一个返回字符串信息给客户端的服务端点: ```java @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello World!"; } } ``` 这段Java代码说明了一个基本的Web服务端点实现方式,其中包含了处理GET类型的HTTP请求的功能[^2]。 #### 启动类的位置 确认主@SpringBootApplication所在的包位于其他组件之上或者是同一级别下;否则扫描不到相应的Bean可能会引发各种异常情况,进而影响到URL路由机制正常工作。 #### 日志分析 利用日志可以帮助定位具体原因所在之处。通过调整logback.xml中的logging level可以获取更多关于每次HTTP请求的信息以便于排查问题根源。 ```xml <configuration> <!-- other configurations --> <logger name="org.springframework.web" level="DEBUG"/> </configuration> ``` 此XML片断用于修改特定命名空间下的记录等级至更详细的程度,有助于发现潜在的问题点[^3]。 #### 测试API接口 借助Postman这样的工具手动测试各个已发布的API接口,验证其可访问性和预期行为的一致性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值