现在一直在用idea学习javaweb,但是对idea的项目部署不是太懂。我发现自己运行的web项目不在tomcat目录下的webapps里。因此今天手动实验,一定要把这个问题搞清楚!
1.创建一个名为text的javaweb项目
2.看一个这个test文件夹变成了什么样子
从三幅图可以看出,在没有运行这个项目时,项目文件夹中只有源码文件和一些配置文件。
下面,我们在idea上运行一下tomcat
3.运行过后的项目结构
下面我们来看一下多出来的.idea与out目录里都有什么,从而揭示他们的作用:
.idea目录:
主要是一些项目的配置信息。
out目录:
在这里我们看到了一个名为test_war_exploded的目录,这个目录与下面有jsp文件和一下xml文件。因此推测这里这个out目录应该与项目部署有关,但不存放编译后的字节码文件。
4.编译后的字节码文件在哪呢
经过一番寻找,我终于找到了,它在c盘idea对应目录下面:
这个目录结构与我们安装的tomca很像,但只有conf、logs、和work三个目录。因此我推测,这个tomcat目录应该是idea实例化的一个tomcat,如果没有猜错,字节码文件应该就在work文件下。
果然在work里面!
总结:
综上所述,我认为idea在部署项目的时候,会有这两个动作:
(1)在项目目录下自动生成out目录,存放带编译的源代码,会自动拷贝src和web-inf下的文件。
(2)实例化tomcat,并将编译后的字节码放在work目录下,这个tomcat也就是我们在调试项目时真正使用的tomcat。
最近刚开始写技术博客,在逻辑和表达上做的还不是太好,相忘大家见谅。