Spring Boot 项目部署到本地Tomcat,出现访问路径问题

Posted Mibloom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 项目部署到本地Tomcat,出现访问路径问题相关的知识,希望对你有一定的参考价值。

首先确定war 包没问题,把war包放在webapps目录下,访问http://localhost:8080/ + 项目名称 发现首页可以访问但css,js请求都是404,跳转页面也是404

解决方法:找到在tomcat的conf中的配置文件server.xml

  <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

在<Host>中添加

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

docBase 可以是webapps的相对路径,也可以是项目的绝对路径。

因为Tomcat会将webapps下的目录部署为一个应用,并且默认添加一个 <Context > ,path就是项目名称,

请求http://localhost:8080/hello/world/java/  到达 服务器会找path="hello"的<Context> 并且将请求 world/java/  发到docBase对应的应用被controller处理,

如果找不到hello的<Context> 或者 没有参数如http://localhost:8080/ 那么会将请求发给path=""的应用,如果不修改path="" 的docBase 那么默认为应用为ROOT就是Tomcat的主页,

并且hello/world/java/ 将作为参数传入(此时会报404),修改path="" 的docBase ="项目名称"之后 ,访问http://localhost:8080/就可以访问到部署的web项目了。

以上是关于Spring Boot 项目部署到本地Tomcat,出现访问路径问题的主要内容,如果未能解决你的问题,请参考以下文章

关于如何将我的spring boot web应用部署到tomcat8的一个问题

把spring-boot项目部署到tomcat容器中

部署spring boot到tomcat服务器上

spring boot项目打成war包部署到tomcat

Spring BootSpring Boot项目部署到外部Tomcat容器

Spring-Boot项目部署到单独tomcat运行