JAVA WEB项目中的路径问题。

以一个springmvc+mybatis整合项目为例。

这是通过gradle构建的项目,结构如下


当这个项目编译之后,编译后的文件会被放到build文件下。


这里我们可以发现,我们原来resources下的文件,经过编译之后都直接被放到了classes文件下,classes文件夹的路径可以被称为classpath.

在我们web.xml之中,我们需要配置spring的applicationContext.xml文件,如何去定位这个文件呢,通过classpath:applicationContext.xml即可。


当然还有其他方式,当我们的项目编译好之后,整个项目的根路径我们可以看到是在Ssmpro-1.0-SNAPSHOT.war文件夹下。

因此,我们可以通过相对路径的方式去访问。

比如说 /A/B 路径是从根目录下开始的。而A/B是从当前目录下开始的。

因此,我们可以通过第一种方式:/WEB-INF/classes/applicationContext.xml 去访问。

但是可不可以通过第二种方式,也就是或者 classes/applicationContext.xml去访问applicationContext.xml呢?

经过我多次测试,发现是不可以的,在java中使用xml去配置路径的时候,应该总是使用根目录去配置的,因为我发现当我们使用classes/applicationContext.xml

这个路径去配置时,总是自动在最前面加上/,也就是路径变成了/classes/applicationContext.xml,这样当然就找不到正确路径了。


猜你喜欢

转载自blog.csdn.net/qq_34761108/article/details/78703135