SpringBoot项目部署到云服务器上系列教程(一)

一.war包导出

纯小白入门,从项目到处到本地Tomcat测试,再到服务器环境搭建与配置,再到运行成功,除了上课时间之外,历经一天半,中间还翘了一节课,唉,深深的认识到,菜是原罪!这个系列博文旨在记录自己这一天多得收获和踩的坑,同时供有类似想法的朋友做一些参考,如果能帮到你,那是缘分,如果我遇到的坑对你来说没有用,也请不要m我,因为每个error或许都是个迷.

环境:IDEA2019.2+SpringBoot2.2.5.RELEASE

  1. 导出前准备:修改pom.xml文件;找到spring-boot-starter-web,添加exclusions下面那些东西,移除嵌入式tomcat,否则与自己的tomcat可能会有冲突。
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
<!--            移出嵌入式tomcat插件-->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

  1. 作为新手,war包的导出我也是费了一些力气,因为没有经验,看了网上的各种方法,但是我感觉最方便的还是命令:mvn clean package

如果你和我一样是第一次使用这个命令,注意,第一次使用时会下载需要的pom和jar包,所以比较慢,后面再使用时就飞起来了。

  1. 导出的war包默认在项目文件夹target下
    在这里插入图片描述

二.测试war包

  1. 当你顺利获得war包之后,找到你下载的Tomcat,放到对应版本的webapps目录下:
    在这里插入图片描述
  2. 切换到conf文件夹下,修改server.xml文件
<Context path="" docBase="miniapp-0.1.0-SNAPSHOT" reloadable="true" />

在这里插入图片描述

  1. 切换到tomcat 的bin目录下:找到startup.bat,点击即可启动tomcat(shutdown.bat是关闭),此时你的war包应该会被解压成对应的文件夹
    在这里插入图片描述

注意:启动之后观察一下你启动的startup.bat控制台,如果有报错,到tomcat的logs日志文件夹下查看catalina.2020-04-16.log(日期以你运行日期的为主)和localhost.2020-04-16.log文件查看具体错误信息,一般只要再idea上能够正常跑起来,一般是没问题的,但是我遇到了一个二班的!

问题描述:(运行正常的可以跳过,出现运行的问题可以看一下是否和我的问题一样)

问题报错:在日志文件中,出现下面的错误:

java.lang.AbstractMethodError: Receiver class com.mini.miniapp.filter.LoginFilterr does not define or inherit an implementation of the resolved method abstract init(Ljavax/servlet/FilterConfig;)V of interface javax.servlet.Filter.

问题说明:LoginFilter类是我写的一个过滤器,相信做登录拦截的时候很多小伙伴都会用到的,这个类实现了Filter接口,然后重写了
@Override
public void doFilter()
方法,这样在idea上运行没有任何的问题,但是此时报的错是需要实现方法init(),只需要实现此方法即可,一些初始化的东西可以放在这里,方法里也可以什么都不填!接着mvn clean package重新生成war包,将之前tomcat下的war和对应的文件夹删除,用新的替换即可,t一定要重启一下tomcat!

  1. 如果你前面一切顺利,那么既可以访问:localhost:8080/projrctName/访问对应文件夹下的文件了:
    例如下面的hello.html文件
    在这里插入图片描述
    在这里插入图片描述
    可以正常访问,至少现在能够证明你的tomcat是正常运行的

当不确定Tomcat是否正常时,可以自己创建一个hello.html文件来验证一下。

但是项目可不只是只能访问几个html文件这么简单,我的前端使用的是jsp与后端交互,按理来说应该是可以正常访问的,但是,你也应该注意到了如果我们在idea中运行项目,访问时是不需要加项目名称的,即我想要访问下面的jsp文件夹下的login.jsp文件,可以http://localhost:8080/jsp/login.jsp就可以访问到,但是现在放在tomcat下,是访问不到的,而且你写的一下action,页面跳转无法访问到,我们想要的,只是把项目名省略掉,见7;
在这里插入图片描述
这是我们在tomcat运行时期望的效果
在这里插入图片描述

7.

在我们的web项目中,一般都会涉及到页面的跳转,前后端的交互,这样路径就是一个问题,具体什么问题根据你写的项目确定,如果没有页面跳转,那么问题应该不大!

将项目名去掉其实很简单,只需要找到与bin文件夹同级的conf文件夹,然后找到server.xml配置文件,打开找到Host标签:添加:

<Context path="" docBase="你的项目名" reloadable="true" />

保存重启Tomcat,现在直接http://localhost:8080/jsp/login.jsp就可以访问到自己的jsp了,页面跳转也没有问题。
至此,项目在Tomcat的测试就完成了,下面就是部署到云服务器上,见
SpringBoot项目部署到云服务器上系列教程(二)

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三喂树屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值