java web中 classpath路径 详解

在使用ssh等框架开发web程序时配置文件(xml和properties)存放的路径一般为src下,当部署程序时则必须存在于classes路径下,具体如下

 

src不是classpath, WEB-INF/classes,lib才是classpath
WEB-INF/ 是资源目录, 客户端不能直接访问, 

这话是没错,不过现在的IDE编译器在编译时会把src下的文件(是文件,不是.java)移到WEB-INF/classes下。不过值得注意的是,spring配置文件里这个locations是uri表示,也就是说你写的jdbc.properties是当前相对路径,要访问classpath记得要这样写:<value>classpath:jdbc.properties</value>

首先 classpath是指 WEB-INF文件夹下的classes目录

解释classes含义:
1.
存放各种资源配置文件 eg.init.properties log4j.properties struts.xml
2.
存放模板文件 eg.actionerror.ftl
3.
存放class文件对应的是项目开发时的src目录编译文件
总结:这是一个定位资源的入口

如果你知道开发过程中有这么一句话:惯例大于配置那么也许你会改变你的想法

对于第二个问题
这个涉及的是libclasses下文件访问优先级的问题: lib>classes
对于性能的影响应该不在这个范畴

classpath 
 classpath* 区别:

 

classpath:只会到你的class路径中查找找文件;
classpath*
:不仅包含class路径,还包括jar文件中(class路径)进行查找.

 

posted @ 2015-06-10 15:21  兵古  阅读(645)  评论(0编辑  收藏  举报