java项目中Classpath路径

本文详细解析了动态Web项目的目录结构,包括静态页面、JSP、WEB-INF、web.xml、classes及lib的作用与配置,强调了IDEA与实际部署的区别,以及如何正确设置和访问classpath。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动态WEB资源的目录结构

Website------- webapps下的项目名(项目工程名,不是包名),例如:ROOT(Tomcat的页面)
           |------静态页面(HTML、CSS、JS、图片)---静态页面只需要这个就够了
           |------JSP页面
           |------WEB-INF----如果有servlet或者JSP则此目录必须有(里面的内容不直接提供对外访问)
                  |-----web.xml(必须的)------出现WEB-INF则必须有web.xml,web 2.5+可省略这个,使用注解替代配置信息(例如:@WebServlet),全用注解效率不高,推荐替代部分配置信息
                  |-----classes(可选的)-----自己写的java类的class文件,没有源代码,Eclipse里发布项目时会自动创建,并将字节文件导入到该文件夹下,还有自己写的配置文件
                  |-----lib(可选的)-----例如,数据库第三方jar包,引用了java类或者第三方jar包

1.在Idea中看到的src和resource不是classpath, 项目被打成war包后WEB-INF中的classes,lib才是classpath,WEB-INF 是资源目录, 客户端不能直接访问,所以我们需要添加classpath访问。

2.WEB-INF/classes目录存放着idea中的src目录下的java文件编译之后的class文件,resource目录下的xml、properties等资源配置文件,这是一个定位资源的入口。

3.引用classpath路径下的文件,只需在文件名前加classpath:

<context:property-placeholder location="classpath:/properties/config.properties"/>
<import resource="classpath:spring/spring-datasource.xml"/>

4.lib和classes同属classpath,两者的访问优先级为: lib>classes。

5.classpath 和 classpath* 区别:
classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找。



 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值