文档章节

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

M
 MichaelTso
发布于 2015/03/16 20:09
字数 547
阅读 764
收藏 9

首先 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代码 收藏代码 <param-value>classpath:applicationContext-*.xml</param-value>

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

classpath的使用:当项目中有多个classpath路径,并同时加载多个classpath路径下(此种情况多数不会遇到)的文件,就发挥了作用,如果不加,则表示仅仅加载第一个classpath路径,代码片段: Java代码 收藏代码 <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*。

本文转载自:http://perfy315.iteye.com/blog/2009258

M
粉丝 0
博文 19
码字总数 12884
作品 0
武汉
私信 提问
加载中

评论(1)

奔跑值
生成war包,才能真正看到想要看的
使用@Controller注解为什么要配置

自己看了官方文档,也到网上查了下,目前理解如下: mvc:annotation-driven/相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconver...

纠结名字
2015/08/09
228
0
Spring4 MVC HelloWord实例

Spring4 MVC HelloWord实例 使用springWind /SpringWind/src/main/webapp/WEB-INF/web.xml 如果你不想用 SpringMVC 的使用原则,可以重新配置 SpringMVC DispatcherServlet 在 web.xml 文件中......

颖伙虫
2018/09/29
61
0
初学spring那些事——spring mvc 404错误

一、spring mvc 404错误 输入地址,浏览器只显示404,并无其它多余提示,在Controller类里下断点发现并没有执行。纠结了一天后才百度到是因为servlet.xml里没有配置<mvc:annotation-driven ...

littleant2
2015/07/30
1K
0
No mapping found for HTTP request with URI [/demo/WEB-INF/view/index.html] in DispatcherServlet with name 'SpringMVC'

错误:[org.springframework.web.servlet.PageNotFound] - No mapping found for HTTP request with URI [/demo/WEB-INF/view/index.html] in DispatcherServlet with name 'SpringMVC' web.......

mhi
03/06
809
2
web.xml 配置applicationContext.xml

web.xml中classpath:和classpath*: 有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 有时候会用模糊匹配的方...

binhu
2014/08/06
253
0

没有更多内容

加载失败,请刷新页面

加载更多

CQRS与AXON

CQRS 看了蛮多文章,只会CRUD,却不懂CQRS,CQRS是遵循DDD思想而产生的一种模式,Command and Query Responsibility Segregation 命令与查询隔离。查询就直接通过正常的模式service调dao层。...

无极之岚
15分钟前
2
0
OSChina 周三乱弹 —— 欢迎你来做产品经理

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @巴拉迪维 :10多次劲歌金曲获奖,更多叱咤歌坛排名,黎明才应该是四大天王之首,只可惜拍的电影太少。单曲循环一个多月的歌,力荐 《无名份的...

小小编辑
29分钟前
37
2
500行代码,教你用python写个微信飞机大战

这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。 帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!...

上海小胖
今天
8
0
关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
7
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部