path和classpath的作用
運行路徑path變量記錄的是各個程序所在的路徑,系統根據這個變量的值來查找運行程序(各種命令),使得在運行的時候不用輸入全路徑名。
類路徑classpath環境變量通常用來記錄當前路徑和java類庫所在的路徑。在類庫中包含java系統所提供的各種軟件包,其中包括各個類和接口等
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目錄編譯文件
總結:這是一個定位資源的入口
如果你知道開發過程中有這麼一句話:慣例大於配置那麼也許你會改變你的想法
對於第二個問題
這個涉及的是lib和classes下文件訪問優先級的問題: lib>classes
對於性能的影響應該不在這個範疇
classpath 和 classpath* 區別:
classpath:只會到你的class路徑中查找找文件;
classpath*:不僅包含class路徑,還包括jar文件中(class路徑)進行查找.