intelliJ Idea + Tomcat部署(详细版本)

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/HughGilbert/article/details/56424137

详细的记叙了intelliJ Idea中Tomcat的部署,主要是在Tomcat部署的时候一些细节性的东西。环境:intelliJ Idea(Ultimate) + Tomcat 9.0

发布一个简单的项目

  1. 打开IntelliJ Idea—>New Project—>Java Enterprise—>Web Application
    newProject
    projectName
  2. 修改index.jsp
    index.jsp
  3. File—>Project Structure—>Project Setting,因为Intellij Idea通常情况下会配置好,所以检查相关设置是否正确即可
    Project
  4. 设置Modules选项中的Sources、Path、Dependencies
    ModulesOne
    ModuleTwo
    ModuleThree
  5. Edit Configuration—>add New Configuration—>Tomcat Server—>Local
    Tomcat Server
  6. 发布项目
    DeployOne
    DeployTwo
  7. 启动Tomcat,需要注意的是此时发布的web项目其目录为localhost:8080/demotwo,而项目的根目录即localhost:8080为tomcat webapps中自带的ROOT项目,具体原因涉及到tomcat的配置文件,会在之后详细说明
    browser
    root

Questions forTomcat

  • CATALINA_HOME与CATALINA_BASE的区别?
    1. CATALINA_HOME即Tomcat的安装目录,CATALINA_BASE是Tomcat的工作目录。如果同时运行多个Tomcat实例,通常会配置多个工作目录。每个Tomcat实例独占一个工作目录,但是共享一个安装目录。
    2. Tomcat每个运行实例需要使用自己的conf、logs、temp、webapps、work和shared目录,因此CATALINA_BASE就 指向这些目录。 而其他目录主要包括了Tomcat的二进制文件和脚本,CATALINA_HOME就指向这些目录。intelliJ Idea在每次重新七栋Tomcat的时候都会重新建立或者说更新Tomcat工作目录的内容。
  • intelliJ Idea中的Tomcat项目为何在.IntelliJIdea2016.3\system\tomcat中?
    1. intelliJ Idea在每次启动Tomcat服务器的时候都会修改CATALINA_BASE
      Configure
  • tomcat服务器是如何找到localhost8080页面与localhost:8080/demotwo页面的?
    1. IntelliJ Idea根据CATALINA_HOME的启动Tomcat服务器
    2. IntelliJ Idea在CATALINA_BASE指定的目录下生成项目独有的conf、logs、work等文件夹。
    3. 在CATALINA_BASE中的conf文件夹下,文件server.xml的Host标签指定了Tomcat的根目录(通常为CATALINA_HOME\webapps\ROOT),即在浏览器中显示的localhost:8080定位的就是此处。name属性和appBase属性起到了一个映射的作用
      localhost
    4. conf的子目录Catalina\localhost\下的XML文件(以虚拟路径命名)Context标签中的path属性和docBase属性也起到了同样的映射作用。即name + path (localhost:8080/demotwo)对应的是项目的发布路径。
      path
    5. 如果在发布项目的时候将虚拟路径设置成“\”,intelliJ Idea则不会生成Catalina子目录,而会在server.xml中将name属性映射到项目的发布路径

猜你喜欢

转载自blog.csdn.net/HughGilbert/article/details/56424137