IDEA会把javaweb工程的部署到Tomcat的webapps吗?

目录

1 Idea 中的 web 项目部署

1.1 默认部署方式

1.2 测试将 web 项目部署到 Tomcat 的 webapps 中 


1 Idea 中的 web 项目部署

Idea 中默认的并不会web 项目真正的部署到 Tomcat webapps 目录中,而是通过为每个 web 项目创建一个独立的 Tomcat 副本并在 Tomcat 副本中通过的 Tomcat 的 Context组件完成项目的目录指定,在 Context 组件的 docBase 属性中会指定 Idea 对 web 项目编译后的目录 out/artifacts/.....。

IDEA会把javaweb工程的部署到Tomcat的webapps吗?_第1张图片

1.1 默认部署方式

Idea 会在 C:\Users\Administrator\.IntelliJIdea2019.3\system\tomcat 中为每个 Web 项目创建一个独立的 Tomcat 副本。

IDEA会把javaweb工程的部署到Tomcat的webapps吗?_第2张图片

C:\Users\Administrator\.IntelliJIdea2019.3\system\tomcat\Tomcat_9_0_34_demo\conf\Catalina\localhost 目录中生成一个该项目的 xml 文件名称为:项目名.xml”

IDEA会把javaweb工程的部署到Tomcat的webapps吗?_第3张图片

内容为:

IDEA会把javaweb工程的部署到Tomcat的webapps吗?_第4张图片

xml 文件中指定 web 项目编译完后的 artifacts 目录的位置,也就是IDEA编译生成的编译后的文件位置。

Idea 通过执行 Tomcat catalina.bat 启动脚本启动 Tomcat,通过启动参数来指定启动

Tomcat 副本运行指定目录中的 web 项目。

 

IDEA会把javaweb工程的部署到Tomcat的webapps吗?_第5张图片

Idaa 在启动 Tomcat 之前会先在操作系统中设置一些临时环境变量,这些变量会被 Tomcat 的启动脚本所读取。

CATALINA_BASE:是 Tomcat 副本的工作目录

CATALINA_HOME:是 Tomcat 的安装目录

 

Catalina.bat 启 动 脚 本 运 行 时 , 会 先 去 判 断 脚 本 中 的 CATALINA_HOME 以 及 CATALINA_BASE 是否有默认值,如果没有则直接读取系统环境变量中的值作为他们的默认 值。由于 Idea 在启动 Tomcat 之前已经设置了临时环境变量,所以 tomcat 在启动后就会运 行部署在 Tomcat 副本中的 web 项目。

IDEA会把javaweb工程的部署到Tomcat的webapps吗?_第6张图片

1.2 测试web 项目部署到 Tomcat webapps  

点击项目结构选项

指定输出 artifacts 的目录为 Tomcat webapps 中的 demo 目录。

IDEA会把javaweb工程的部署到Tomcat的webapps吗?_第7张图片

启动 Tomcat,查看 demo 目录中的内容。

IDEA会把javaweb工程的部署到Tomcat的webapps吗?_第8张图片

在 tomcat webapps 中创建一个目录。

IDEA会把javaweb工程的部署到Tomcat的webapps吗?_第9张图片
但是这也不是真正的部署到原先的tomcat,而还是一个副本只是改变了索引位置而已。

 

你可能感兴趣的:(javaweb)