java web的classpath_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记得要这样写:classpath:jdbc.properties

首先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路径)进行查找.

778184bee3a708ce3ae9b9341d523818.png

首先这个是 web.xml方式定义参数传给Servlet。

因此,的解释是接收这个参数的servlet执行的。

dispatchservlet的这个参数是定义配置文件的位置的。

而spring中对资源文件的处理做了抽象化,可以用符合 URI规范的方式声明文件位置,

具体的实现类会解析这个字符串,(可以看spring的Resource相关的文档)

根据里面的声明 来使用合适的方式读取。 classpath:开头的意思是说从 classpath中寻找目标文件。

web application的classpath包含 WEB-INF/lib下的所有jar包和WEB-INF/classes目录

你的web项目编译后会有一个classpath路径,编译后的class文件,资源文件,依赖文件等都会放在这个路径下。param-value制定的这个配置文件时spring的配置文件,classpath意思就是说这个配置文件在classpath路径下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值