当前位置:   article > 正文

springboot打成war包放入tomcat的webapps中启动成功,访问controller层报404,访问页面正常_docker tomcat springboot controller 404

docker tomcat springboot controller 404

这两天老大安排新活,让我这个深陷改商城bug的人换换口味,搭建一个springboot框架,能够简单实现Restful风格的接口。springboot之前用过,这来回差不多有一年没有接触过了。这次搭建就遇到好几个坑,不过也都算解决了,有环境的问题,也有代码的问题,这里记录一下方便以后参考。下面具体说说吧~

本springboot在github项目地址:https://github.com/fenglizhang/springboot-restful

  • 坑1:本地开发完事,启动访问正常,却发现没有项目名访问,感觉别扭,咋样配置上项目名?
  • 坑2:却忘了部署需要打成war包和tomcat一起要放到docker上的事情,如何配置打成war包?
  • 坑3:springboot如何打成war包,有何种方式?
  • 坑4:打成war包的springboot项目如何用tomcat启动
  • 坑5:启动成功后如何配置能正常访问到接口
    下面一个一个填坑 (0>00<0)

1) 如果给springboot项目配置上项目名称?

SpringMVC的运行方式是将项目打成war包放到tomcat中运行tomcat,这种情况下访问需要在url中加入项目名。SpringBoot同样可以打成war包部署,但也提供了另一种方式:直接执行public static void main()函数并启动一个内嵌的应用服务器(取决于类路径上的依赖是Tomcat还是jetty)来处理应用请求,这时是不需要添加项目名的。

如果感觉上少点啥,还是可以通过在yml文件中配置一个项目名的,不过springboot有两个版本,不同版本的配置略有差别,以项目名为demo为例:
在这里插入图片描述
因为我在pom文件配置的springboot版本为:<spring.boot.version>1.4.3.RELEASE</spring.boot.version>,所以在yml中配置为第一种:server.context-path: /TelemetryServer
这样,访问我们controller的url就可以这样:http://localhost:8080/TelemetryServer/api/log/showLogs ,而不是这样:http://localhost:8080/api/log/showLogs

2)如何配置才能打成war包?

springboot的项目打包方式是多样的,常见的就是打成war包和jar包这两种。具体打成什么包要看部署情况,war包是一般在tomcat的webapps中启动的,或者和tomcat一起放到docker中部署。而jar包只要有jdk环境,就可以用命令行java -jar **.jar的方式启动。如何打成jar包的配置具体可以看:https://bl

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/146952
推荐阅读
相关标签
  

闽ICP备14008679号