1、Java Web项目目录结构
WEB-INF 目录下存放 web.xml 配置文件和 classes、lib 文件夹。
2、如何在IDEA中新建一个Java web项目
在IDEA中创建一个Java web项目其实很简单,只需创建project,并且勾选 web application 选项即可,由此就创建了一个Java EE项目。
可参考:https://blog.csdn.net/qq_34107571/article/details/79774250
3、如何在IDEA中配置tomcat
在IDEA中配置 tomcat 其实也很简单,具体可参考如下:
参考:https://www.cnblogs.com/shijiaoyun/p/5882281.html#top
在配置 tomcat 之后,如果想在修改项目文件后立即生效,实现热部署的效果,可以在配置中修改为下面的选项
3.1、web项目的配置文件
在 IDEA 中,每一个 tomcat 部署的项目都会有一个单独的配置,IDEA 会为每个 tomcat 部署的项目单独建立一份配置文件。
该配置文件的路径会在启动 tomcat 时在控制台输出,一般在前面会输出,类似于:Using CATALINA_BASE: "C:Usersxxx.IntelliJIdea2019.3system omcatUnnamed_new_tomcat_test_2" 这么一行代码,配置文件就存放在该路径当中。
目录结构如下:
在 conf 文件夹下有 server.xml 文件,该文件就是该 web 项目的 tomcat 配置文件。
在 conf/Catalina/localhost 中可以看到有 xml 配置文件,由此可以知道部署方式采用的是新增配置文件的方式来进行部署的。
3.2、tomcat真正访问的web项目路径
打开上述配置文件目录 conf/Catalina/localhost 下的 xml 配置文件,docBase 属性指的就是 tomcat 实际访问的项目路径:
<Context path="/new_tomcat_test_war_exploded" docBase="F:develop_WorkSpaceIntelliJ_IDEA_workSpace ew_tomcat_testoutartifacts ew_tomcat_test_war_exploded" />
我们可以把平常编写的项目路径和 tomcat 实际访问的项目路径分为:工作空间项目、tomcat 部署的项目。
可以看到 docBase 指向的是工作空间项目下的 out 目录下的路径文件,而不是我们平常的工作空间路径,也就是说 tomcat 访问的部署项目路径和我们工作空间的项目是不太一样的。tomcat 部署的项目对应着工作空间项目下的 web 目录下的所有资源,再加上 src 目录下的资源。
WEB-INF 目录下的资源不能被浏览器直接访问,所以不要在 WEB-INF 目录下新建 html 等资源。