现在企业开发中,我们都会创建一个javaWeb工程,在eclipse中指的是新建一个dynamic web project,创建完工程之后,我们在IDE中大体看到如下的工程目录:
我们主要关心的文件夹有src、WebContent、WEB-INF、test等。
src:存放我们写的java文件,以包来区分相同的文件
WebContent:发布的文件夹
WEB-INF:被设计为安全的文件夹,如果一些内容必须通过后台才能被访问,则存放在此文件夹下
test:用户创建的用户目录,可以来存放具体的前台文件(html、jsp等);另,还可以创建更多的文件夹,存放不同种类的文件
上面是我们在IDE中看到的web工程的结构,那么把web工程发布到tomcat下的文件路径是什么样子的呢,如下:
我们看到发布完的路径为项目名称 ,下边有META-INF、test、WEB-INF三个文件夹,可以清楚的明白,发布完之后是项目名称,然后是WebContent(开发环境下文件夹)下的文件,而WebContent没有显示,那么一定会奇怪,我的class文件呢,别着急,请看下图:
我们的class文件都放在了WEB-INF下的classes文件夹下,把包的路径转化为了文件路径,如com.cn.my转化为com/cn/my。
你会疑惑,如果我在src下有配置文件那么,我的配置文件发布完放在什么地方了,根据上面的解释,src对应着classes文件夹,那么src下的配置文件会放在classes文件夹下。
下面说明在web.xml文件中配置的
12 log4j-properties-location 3/WEB-INF/log4j.properties 4
这里配置的
很多时候我们会把配置文件放在src下,如果放在src下上边的配置改是怎么样的呢,
一、放在src根路径下,则上面的配置变成如下:
log4j-properties-location /WEB-INF/classes/log4j.properties
二、在src下创建一个文件夹,则配置如下:
log4j-properties-location /WEB-INF/classes/my/config/log4j.properties
在开发中我们还经常看到这样的配置,如下
log4j-properties-location classpath:log4j.properties
classpath指的就是classes文件夹,这里指的是src根路径下的log4j.properties文件,也可以使用classpath:test/my/log4j.properties
有不对之处请指教!