java 线上项目访问项目 会多一层项目根路径

java 项目上传到服务器    URL会多出一层根目录 导致请求不通过

线下开发的请求路径是  http://localhost:8888/a/b   实打成 war 的名字是chassis 上传服务器

线上实际的访问路径是    http://服务器ip:端口/项目名称/a/b 

也就是   http://114.113.115.116:9999/chassis/a/b​​​​​​ 

   

遇到这种情况怎么解决:

一:线下更改 请求路径 保持线下和线上开发一致性

在application.yml中配置多一层请求路径  chassis,线下开发的请求路径就成为    http://localhost:8888/chassis/a/b      

这样线上和线下就保持一致性了。

二:不想修改线下的路径,那只能修改线上Tomcat的配置了  有两种解决方法

1,方式一:
原理:Tomcat的默认根目录是ROOT,实际上ROOT这个项目在实际生产环境是没有用的,所以我们可以用我们的项目覆盖ROOT项目
操作过程:
1.删除ROOT下所有文件及文件夹
2.把我们项目的war包解压后,项目目录下的所有文件和子目录都拷贝到ROOT目录下即可
或者有更狠的一招:直接删掉ROOT目录,然后把我们的项目打包名称改成ROOT.war,放到webapps下就行 

方式二:
原理:Tomcat本身可以配置虚拟目录。

方法就是在Server.xml中<Engine><Host>节点下加入Context信息。

如我们可以配置<Context path="" docBase="chassis" reloadable="true" />
操作过程:

按照配置虚拟目录的方式,在<Engine><Host>下添加一个Context节点,具体配置如下:

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

  2. <Context path="" docBase="chassis" reloadable="true" />

  3. </Host>

  4.  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值