idea 启动tomcat 原理

首先我们需要知道两个变量对应的含义

CATALINA_HOME是Tomcat的安装目录

CATALINA_BASE是Tomcat的工作目录

我们来观察 tomcat 的 startup.bat启动和 idea 启动的区别

发现了吗 ,只有CATALINA_BASE 不相同 ,为什么CATALINA_BASE 不相同呢 ? 因为 idea 为我们创建了一个新的 tomcat 实例,当你需要在一台机器上面部署多个Tomcat实例,但是你又不想创建多个Tomcat的副本,换句话说就是让这些Tomcat副本拥有自己的工作目录但是共享Tomcat的代码

  • 创建一个 tomcat 就是把 tomcat 目录下的 conf 文件夹拷贝到 idea 的 文件夹下 ,同时增加 logs work 文件夹,这样每个项目都会有一个自己的tomcat配置文件 ,同时也享用同一份 tomcat 服务器代码
  • 如果使用 tomcat 的 startup.bat 启动tomcat ,可以使得webapps 下的所有项目都可以访问 ,因为可以使其 work 目录下的文件名对应的项目启动 ,而用 idea 启动 tomcat 的话 ,只有 这个 tomcat 实例下 work 目录对应的项目可以访问 , 也就是说只有一个项目可以访问 ,这点要注意

我们来对照 idea 的 tomcat 工作目录 和 tomcat 自己的工作目录

现在恍然大悟了把 ,idea就是把 tomcat 的配置文件拷贝一份给每个 web项目 使用 ,同时项目还是打包到 tomcat 本身的 webapps 文件夹中, 共用了 lib ,bin ,webapps 等目录 ,不共用 logs work conf 等目录 ,我们任然可以在 webapps 下找到我们的项目文件 ( 没有虚拟路径的话是 ROOT 文件夹 ) ,仅仅如此

idea启动 tomcat 原理解析相关推荐

  1. SpringBoot启动Tomcat原理与嵌入式Tomcat实践

    导读 作为一个开发,使用Spring Boot 时,和传统的Tomcat 部署相比,我们只需要关注业务的开发,项目的启动和部署变的十分简单, 那么它背后是怎么实现的, 隐藏着什么? 本文先从一个嵌入式 ...

  2. tomcat原理解析(一):一个简单的实现

    一 概述 前段时间去面试,被人问到了tomcat实现原理.由于平时没怎么关注容器的实现细节,这个问题基本没回答上来.所以最近花了很多时间一直在网上找资料和看tomcat的源码来研究里面处理一个HTTP ...

  3. Tomcat 架构原理解析到架构设计借鉴

    ‍ 点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 Tomcat 架构原理解析到架构设计借鉴 Tomcat 发展这 ...

  4. java bat 启动脚本_解析Tomcat的启动脚本--catalina.bat

    概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 ca ...

  5. Tomcat原理系列之四:Tomat如何启动spring(加载web.xml)

    Tomcat原理系列之四:Tomat如何启动spring 熟悉的web.xml ContextLoaderListener Tomcat的初始化StandardContext.startInterna ...

  6. spark启动的worker节点是localhost_Spark大数据在线培训:Spark运行原理解析

    在大数据技术框架当中,Spark是继Hadoop之后的又一代表性框架,也是学习大数据当中必学的重点技术框架.在这些年的发展当中,Spark所占据的市场地位,也在不断拓展.今天的Spark大数据在线培训 ...

  7. Spring Boot:(二)启动原理解析

    Spring Boot:(二)启动原理解析 前言 前面几章我们见识了SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会吃亏. ...

  8. Spring Boot(18)---启动原理解析

    Spring Boot(18)---启动原理解析 前言 前面几章我们见识了SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会 ...

  9. Spring Boot 原理解析—启动类包扫描原理

    为了何更好的理解该篇内容,请先阅读Spring Boot 原理解析-入口SpringApplication. 我们知道在使用Spring Boot时,Spring会自动加载Spring Boot中启动 ...

  10. Netty原理一:ServerBootstrap启动过程全解析

    文章目录 前言 原理解析 问题扩展 前言 Netty 体系庞大而复杂,所以会分成几篇文章进行讲解.深入理解需要有一定的基础和耐心,参照源码反复推敲才行 为了方便阅读,本篇的源码部分只保留核心部分,比较 ...

最新文章

  1. 一步快速将Smartform output转成生成PDF文件
  2. XML 新手最佳入门教程
  3. JQUERY项目所用插件
  4. 如何在 C# 中使用匿名类型
  5. 数据库MySQL的运行情况主要是检查什么_mysql 运行状态分析 运行故障排查实例
  6. spring+hibernate中clob、blob字段的处理方法
  7. 在Ubuntu10.10下升级内核到2.6.36使用systemtap
  8. 微信接口java解密_微信小程序Java登录流程(ssm实现具体功能和加解密隐私信息问题解决方案)...
  9. Kylo 之 spark-job-profiler 源码阅读
  10. 用移动硬盘安装linux系统教程,利用移动硬盘安装centos
  11. 线程池的好处,详解,单例(绝对好记)
  12. CWS(美国国土安全部下属的软件保证项目)与SANS(权威安全培训组织)联合编制的最危险的25个编程错误
  13. Android 将本地资源图片转换成Drawable,进行设置大小
  14. elementUI 选择器 html
  15. 机器学习笔记 - 时间序列使用机器学习进行预测
  16. AT指令集详解[zt]
  17. Linux Ethernet PHY 驱动
  18. 深蓝学院-多传感器融合定位课程-第2章-3D激光里程计I
  19. PDN设计关键点之滤波电容位置
  20. 成本控制探讨:BPM扭转粗放费用管控模式

热门文章

  1. 上班我是这样玩微信的,带你一起玩?
  2. 微pe工具箱 系统安装教程_微PE工具箱 V2.0正式版(附安装系统教程)
  3. 精读-软件测试的艺术之模块测试及更高级别的测试
  4. cmd查看IP地址指令
  5. linux查看cpu核数命令,Linux系統下如何查看CPU型號、核心數量、頻率和溫度?
  6. 查看服务器虚拟机版本,查看虚拟机版本命令
  7. 终极算法-机器学习和人工智能如何重塑世界:电子书
  8. 唐宇迪python课程数据百度云_【推荐下载】2017最新唐宇迪 Python数据分析与机器学习实战视频教程...
  9. 计算机网络——数据包抓取与分析
  10. 一建已经过去,正是中级通信工程师黄金备考期!