web.xml 配置中classpath: 与classpath*:的区别

原创 2016年05月31日 15:50:54
首先 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路径)进行查找. 

Java代码  收藏代码
  1. <param-value>classpath:applicationContext-*.xml</param-value>  

或者引用其子目录下的文件,如 
Java代码  收藏代码
  1. <param-value>classpath:context/conf/controller.xml</param-value>  


classpath*的使用:当项目中有多个classpath路径,并同时加载多个classpath路径下(此种情况多数不会遇到)的文件,*就发挥了作用,如果不加*,则表示仅仅加载第一个classpath路径,代码片段: 
Java代码  收藏代码
  1. <param-value>classpath*:context/conf/controller*.xml</param-value>  


另外: 
"**/" 表示的是任意目录; 
"**/applicationContext-*.xml"  表示任意目录下的以"applicationContext-"开头的XML文件。  
程序部署到tomcat后,src目录下的配置文件会和class文件一样,自动copy到应用的 WEB-INF/classes目录下 
classpath:与classpath*:的区别在于, 

前者只会从第一个classpath中加载,而 
后者会从所有的classpath中加载  

如果要加载的资源, 
不在当前ClassLoader的路径里,那么用classpath:前缀是找不到的, 
这种情况下就需要使用classpath*:前缀 

在多个classpath中存在同名资源,都需要加载, 
那么用classpath:只会加载第一个,这种情况下也需要用classpath*:前缀 

注意: 
用classpath*:需要遍历所有的classpath,所以加载速度是很慢的,因此,在规划的时候,应该尽可能规划好资源文件所在的路径,尽量避免使用classpath*。
版权声明:本文为博主原创文章,未经博主允许不得转载。

web.xml 配置中“classpath” 与“classpath*”的区别

首先 classpath是指 WEB-INF文件夹下的classes目录,并不是指src目录。 解释classes含义: 1.存放各种资源配置文件,如:eg.init.properties log4j...
  • chenlong220192
  • chenlong220192
  • 2015年07月21日 14:01
  • 238

环境变量——关于PATH与CLASSPATH的区别

在安装JDK时需要添加环境变量,经常使用的环境变量有两个:PATH与CLASSPATH,下面总结一下环境变量的作用。 PATH是系统用来指定可执行文件的完整路径。当在CMD中执行命令时,如果执行的可执...
  • ZF_C_CQUPT
  • ZF_C_CQUPT
  • 2016年03月30日 22:59
  • 2793

【原创】关于weblogic的classpath、weblogic.xml和JASS设置

自己最近刚刚调到了公司的访问安全小组,接入公司的账户管理系统,以前的项目都是使用的是TOMCAT,现在需要配置weblogic的相关项目,接入的时候遇见了许多坑,主要是classpath、JAAS、w...
  • u012485012
  • u012485012
  • 2016年01月13日 09:55
  • 1754

在Web.xml中自动扫描Spring的配置文件及resource时classpath*:与classpath:的区别

转:http://blog.sina.com.cn/s/blog_a2f090ae0101e18d.html 首先在web.xml中配置监听器listener,让Spring进行自动获取。具体加入的...
  • pange1991
  • pange1991
  • 2016年12月31日 10:21
  • 1658

Tomcat 添加CLASSPATHP配置 --------- WEB工程配置文件独立部署

1.配置文件独立部署 由于配置文件需要经常修改,所以现网环境一般会將配置文件与工程文件独立开来,构建war时需要將配置文件排除,部署时需要將配置文件所在目录添加到CLASSPATH路径下。 由于经验...
  • qinglizoudangqi
  • qinglizoudangqi
  • 2016年10月05日 10:44
  • 4628

jdk环境变量的配置及path、classpath的作用和区别

配置jdk环境变量 path作用 classpath作用 path与classpath的区别 javac命令抛出异常的解释...
  • ZJDWHD
  • ZJDWHD
  • 2016年02月01日 14:29
  • 5393

spring 在web.xml 里面如何使用多个xml配置文件

1, 在web.xml中定义 contextConfigLocation参数.spring会使用这个参数加载.所有逗号分割的xml.如果没有这个参数,spring默认加载web-inf/applica...
  • chungle2011
  • chungle2011
  • 2016年09月13日 09:42
  • 3387

path、classpath环境变量配置

1、什么是环境变量?   百度百科:一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。   个人理解:环境变量有许多种,我们需要了解的path、classp...
  • fightfaith
  • fightfaith
  • 2015年10月26日 16:10
  • 1955

classpath和环境变量设置

http://www.360doc.com/content/12/0722/14/820209_225797366.shtml 在没有设置环境变量之前,我们可以通过直接在应用程序中加带相...
  • hehe524178933
  • hehe524178933
  • 2016年01月13日 13:52
  • 6224

jdk6之前版本为什么需要设置classpath环境变量?为什么tomcat为什么不需要设置classpath环境变量?

1jdk6之前版本为什么需要设置classpath环境变量? 2为什么tomcat为什么不需要设置classpath环境变量? 总结,class文件在tomcat下...
  • Ideality_hunter
  • Ideality_hunter
  • 2016年06月17日 13:55
  • 2730
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:web.xml 配置中classpath: 与classpath*:的区别
举报原因:
原因补充:

(最多只允许输入30个字)