IDEA中发布的javaweb项目是怎么和Tomcat联系上的?javaweb中的路径问题?javaweb中的绝对路径到底是相对的什么?绝对的什么文件夹路径?

IDEA中javaweb项目发布的目录结构

IDEA中嵌入tomcat发布javaweb项目的原理就是:我们在IDEA中创建maven项目目录,按照需求编写jsp、servlet和其他Java文件,只要我们将项目发布到tomcat上,点击运行tomcat,这IDEA会自动为这个项目打包一个"项目名称-1.0-SNAPSHOT"的文件夹,而tomcat就会去加载这个文件夹

​ "项目名称-1.0-SNAPSHOT"文件夹下存在两个子目录,一个是META-INF,一个是WEB-INF,还有就是我们直接创建在webapp文件夹下的jsp文件,以及直接创建在webapp文件夹下存放jsp文件的文件夹

​ 而子目录中最重要的就是WEB-INF文件夹,这个文件夹中的子文件夹数目不定,但是一定会有一个classes,用于存放项目所有* .java文件对应的* .class文件,还有一个就是lib文件夹,用于存放整个项目导入的jar包(对应我们创建的maven项目中的pom.xml文件中引入的依赖+我们自己手动导入的包),还有一个web.xml文件,用于配置项目参数

​ WEB-INF文件夹下的其他子目录就是用户自己创建的一些文件夹,比如上面例子中我们实现文件上传创建的文件夹,这些文件夹就会打包到WEB-INF文件夹下
IDEA中发布的javaweb项目是怎么和Tomcat联系上的?javaweb中的路径问题?javaweb中的绝对路径到底是相对的什么?绝对的什么文件夹路径?
小结一下:

​ ①在项目发布到服务器程序上可以发访问的时候,使用IDEA编译的项目会生成一个target/项目名称-1.0-SNAPSHOT文件夹,而tomcat也正是将这个文件夹作为我们访问资源的时候的一个目标文件夹,即这个文件夹就相当于tomcat安装目录下的webapp文件夹

​ ②而我们Javaweb项目中webapp文件夹下的jsp文件都是直接放在"项目名称-1.0-SNAPSHOT/"下,webapp文件夹下的jsp文件夹中的jsp文件都是放在"项目名称-1.0-SNAPSHOT/jsp文件夹/"下;而项目的Java文件只会按照包名称存放在"项目名称-1.0-SNAPSHOT/WEB-INF/classes"中

注意:"项目名称-1.0-SNAPSHOT"文件夹中的文件夹关系,就是我们在写项目的时候应该注意的路径问题;我们在写项目的时候的"/也就是指的项目名称-1.0-SNAPSHOT这个文件夹";而相对路径就是相对与你当前访问的这个资源另一个资源的路径

上一篇:问题解决:尝试解决maven依赖找不到的n种姿势


下一篇:友报账开发