小台的IT备忘录  
脑子越来越不好用,只能依靠烂笔头了~

我们使用tomcat时会在conf/server.xml配置文件中设置对于tomcat的配置,这个配置适用于tomcat中部署的所有项目。

但当在idea中配置tomcat后,idea会为每一个tomcat部署的项目单独建立一份配置,也就是有几个项目就会有几份tomcat的配置。

我们可以在Run - Edit Config.......中找到相关tomcat的配置,但这里只是配置的可视化图形界面而已,真正的配置信息依然会写到

tomcat的server.xml中,那么这个server.xml在哪里呢?

下图是tomcat的启动端口等配置

 

下图是配置根虚拟目录的,也就是在localhost/xxx后面第一级虚拟目录的名称,写/就表示没有虚拟目录

将配置到idea的tomcat启动后,在控制台输出中可以看到“Using CATALINA_BASE:  C:\Users\Administrator\.IntelliJIdea2019.3\system\tomcat\_tyh-java-demo”内容,在电脑中将后面的路径打开

将路径打开,就可以看到下图目录,这就是当前项目对于tomcat的配置,其实跟tomcat的可变内容文件夹一样,conf存放配置文件,logs存放项目日志,work存放运行时数据

在conf中有server.xml配置文件,当我们在idea中修改了tomcat的配置,这个server.xml就会被修改。

我们的项目运行时的根虚拟目录就是在conf中的Catalina/localhost/xxx.xml,这个xxx.xml就是指向项目的根虚拟目录,

xml中写的就是项目的路径,其中path和xml文件相同代表根虚拟目录,path也可以省略不写,docBase指向项目存放地址。

将docBase路径在电脑中打开

这就是一个动态web站点的目录结构,WEB-INF存放classes类字节码文件和web.xml配置文件,外面放的网页文件。

这个目录结构和我们idea代码中的web目录下的结构是一样的

工作空间的web目录和tomcat部署的web项目,虽然目录结构相同,但却存储在两个位置,

tomcat部署的web项目存储在工作空间的out/artifacts目录下,

当我们在代码中的web目录下新建了一个资源文件,它会自动复制到tomcat的部署目录下,

所以tomcat真正访问的是web部署目录,而不是工作空间目录。

工作空间中的src目录的java文件会被编译后将生成的class字节码文件放到tomcat部署目录中的WEB-INF下的classes中。

WEB-INF目录是特殊的,这个文件夹下的html文件等是无法被浏览器直接访问的。

 

 也可以在项目结构配置上设置一个web

 

 当我们在pom.xml文件中对某个模块配置了<packaging>war</packaging>时,在

 

posted on 2021-04-18 22:50  taiyonghai  阅读(769)  评论(0编辑  收藏  举报