Tomcat配置项目直接通过http://ip:port访问

Tomcat配置项目直接通过/访问

遇到一个需求:因为这个域名下只部署了这一个项目,用户想直接通过域名来访问这个项目而不是加一层项目地址。

方式一

修改war文件名

  1. 将你的war文件重命名为ROOT.war。部署到Tomcatwebapps目录即可。
  2. 如果已经存在ROOT文件夹,删除它,以便Tomcat自动加解压缩并部署ROOT.war
  3. 启动Tomcat后,项目可以直接通过https://localhost:8080/直接访问。

方式二

修改server.xml文件:在<Host/>添加一个<Context/>并设置pathdocBase

<Context path="/" docBase="../webapps/messenger.war" reloadable="true"/>

或者

<Context path="/" docBase="/messenger" reloadable="true"/>

  • path: 指定Web应用程序的上下文路径,即在URL中访问应用程序的路径。例如,path="/myapp" 将使应用程序在 http://localhost:8080/myapp 上可用。

  • docBase: 指定Web应用程序的根目录,可以是WAR文件的路径或已解压的目录。例如,docBase="/path/to/myapp.war"docBase="/path/to/myapp"

  • reloadable: 指示是否支持应用程序的自动重新加载。设置为 true 表示支持自动重新加载,便于开发时的快速部署。默认值是 false

注意

这种方式webapps下面一个war包可以会生成两个文件夹,一个是ROOT,一个是应用程序的目录。这两个目录下的文件是相同的,也就是**tomcat把这项目加载了两次**,一个是/访问,一个是/应用程序访问的,这两套是相互隔离的。

解决方案

<Context path="/" docBase="${catalina.base}/apps/messenger.war" debug="0" reloadable="true"/>

不把war包放入到webapps中,而是而是通过docBase来指定war的路径,这样tomcat只会在webapps内生成一个ROOT目录。

相关推荐
晚霞的不甘6 小时前
华为云 DevUI 微前端实战:基于 Module Federation 的多团队协作架构落地
javascript·zookeeper·云原生·华为云·firefox
计算机毕设指导66 小时前
基于微信小程序的心理咨询预约系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
青衫码上行6 小时前
【JavaWeb学习 | 第19篇】Filter过滤器
java·学习·servlet·tomcat
拾忆,想起6 小时前
Dubbo序列化性能优化实战:从协议选型到极致调优
前端·微服务·性能优化·架构·dubbo·safari
杀死那个蝈坦1 天前
Docker
java·docker·eclipse·tomcat·hibernate
拾忆,想起1 天前
Dubbo序列化异常终结指南:从精准诊断到根治与防御
开发语言·前端·微服务·架构·php·dubbo·safari
计算机毕设指导61 天前
基于微信小程序的篮球场馆预订系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven
无名-CODING1 天前
#Servlet与Tomcat完全指南 - 从入门到精通(含面试题)
java·servlet·tomcat
玩转C语言和数据结构2 天前
Tomcat下载、安装和配置教程(附安装包,非常详细)
tomcat·tomcat下载教程·tomcat下载安装教程·tomcat安装教程·tomcat下载安装配置教程·tomcat下载·tomcat下载安装
0和1的舞者2 天前
API交互:前后端分离开发实战指南
java·spring·tomcat·web3·maven·springmvc·springweb