java项目中Classpath路径

动态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:



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

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



 

你可能感兴趣的:(JAVA)