引用一篇很不錯的文章:http://blog.csdn.net/wxwzy738/article/details/16983935web
首先 classpath是指 WEB-INF文件夾下的classes目錄spring
classpath 和 classpath* 區別:app
classpath:只會到你指定的class路徑中查找文件;框架
classpath*:不只包含class路徑,還包括jar文件中(class路徑)進行查找.eclipse
舉個簡單的例子,在個人web.xml中是這麼定義的:classpath*:META-INF/spring/application-context.xmlssh
那麼在META-INF/spring這個文件夾底下的全部application-context.xml都會被加載到上下文中,這些包括 META-INF/spring文件夾底下的 application-context.xml,META-INF/spring的子文件夾的application-context.xml以及 jar中的application-context.xml。spa
若是我在web.xml中定義的是:classpath:META-INF/spring/application-context.xml.net
那麼只有META-INF/spring底下的application-context.xml會被加載到上下文中。xml
項目實踐中用的比較多就是在web.xml文件中配置spring監聽器,讓它讀取*.xml文件,加載其中的bean.blog
舉例以下
首先:在ssh框架搭建好以後,在web.xml文件中進行以下配置
<!--系統自動加載文件 -->
這裏使用的是classpath*:的形式
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:ssh2-*.xml</param-value>
</context-param>
<!--配置spring的context監聽器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
在項目的.classpath文件中有以下的配置
補充:
1.)關於.classpath文件的查看能夠去項目存放的位置(workplace)下查看,也能夠在eclipse中navigator視圖中進行查看
2.)navigator視圖是在window---->show view----->other------>navigator中能夠找到.
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<!--系統默認的class文件加載路徑,不可以刪除-->
<classpathentry kind="src" path="src"/>
<!--本身新添加的class文件加載路徑-->
<!--<classpathentry kind="src" path="config"/>-->
這裏能夠添加classpath的路徑,例如個人配置文件路徑時放在了與src同級的目錄下,你也能夠指定本身的文件存放路徑.
項目啓動時候,系統會依據.classpath文件中指定的src的路徑依次查找所要加載的配置文件。並加載其中的bean.