XML配置文件中Classpath指的哪里?: Project如何变成War包

对于Maven来讲,打包成War包需要在Pom.xml里进行设置:

<project>

<packaging>war</packaging>

</project>

首先要明白,一个Servlet的Webapp工程由以下三部分组成,位于 src/main/ 的目录下:

  1. java: 存放java文件的目录。
  2. resource: 存放资源的目录(资源包括配置文件等)。
  3. webapp: webapp根目录。

打包开始后Servlet会将java目录和resource目录的东西放入webapp,以下是参考:

从以上参考可以看出,Java源文件会被变异成class放入一个classes的目录,而resources里的东西也会直接放入classes这个目录,

 

 

 这个classes的目录就是一个参考点,可以在xml的配置文件里用classpath表示。

我的项目spring-action部署在tomcat后的目录结构:

 另外,在配置web.xml中的<welcome-file>时,使用到了相对路径,这个时候相对路径是相对于项目名的

<welcome-file>hello.html</welcome-file>

对比tomcat上的项目的目录结构:

 

 可以发现这里的hello.html实际上是相对于spring-action的,也就是,web.xml中的相对路径是相对于项目地址的路径。

 

posted @ 2019-10-15 20:44  銀色飞行船  阅读(590)  评论(0)    收藏  举报