关于用idea打war包放tomcat下启动访问404问题解决

原因分析:

  1. 未去除springboot内置tomcat配置
  2. 访问路径为加上war包名字(tomcat下访问与idea启动访问略有不同)

去除springboot内置tomcat配置

  1. 修改pom.xml文件
    注:packaging 属性必须为war
    在这里插入图片描述
    添加去除内嵌tomcat配置
    在这里插入图片描述
    代码如下:
<!--忽略内嵌tomcat,打包部署到tomcat。注*本地运行的时候要把这一段忽略引入个注释掉,要不然项目启动不了-->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
  1. 在启动类同级添加继承SpringBootServletInitializer 的类
    在这里插入图片描述
    代码如下:
package com.example;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
/**
 1. <p>解决springboot打成war包,部署tomcat后访问404问题</p>
 */
public class BackendInTomcatApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}

3.用idea打包
先clean下,清理下无效文件;然后点击package打包
在这里插入图片描述
打包成功包位置:
在这里插入图片描述
至此,war包已经完成
在这里插入图片描述

启动tomcat,访问项目

1.将以上所打war包放置在指定tomcat版本的webapps目录下
在这里插入图片描述
这里涉及到一个tomcat版本建议和springboot内置tomcat版本一致,否则可能会有兼容性问题
查看springboot内置tomcat版本:
比如我们需要查Spring Boot 2.0.6.RELEASE的内嵌Tomcat版本, 可以打开链接:

https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-tomcat/2.0.6.RELEASE

在这里插入图片描述
所以我这里用的是tomcat8.5版本
启动tomcat:
在这里插入图片描述
可以看到我的web层测试方法已经起效:
在这里插入图片描述
在这里插入图片描述
2.访问方法

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值