JavaWeb项目中classpath路径详解

在使用ssh等框架开发web程序时配置文件(xml和properties)存放的路径一般为src下,当部署程序时则必须存在于classes路径下,具体如下

src不是classpath, WEB-INF/classes,lib才是classpath

WEB-INF/ 是资源目录, 客户端不能直接访问,

这话是没错,不过现在的IDE编译器在编译时会把src下的文件(是文件,不是.java)移到WEB-INF/classes下。不过值得注意的是,spring配置文件里这个locationsuri表示,也就是说你写的jdbc.properties是当前相对路径,要访问classpath记得要这样写:<value>classpath:jdbc.properties</value>

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

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

因此,<param-value></param-value>的解释是接收这个参数的servlet执行的。
dispatchservlet的这个参数是定义配置文件的位置的。

spring中对资源文件的处理做了抽象化,可以用符合 URI规范的方式声明文件位置,
具体的实现类会解析这个字符串,(可以看springResource相关的文档)
根据里面的声明 来使用合适的方式读取。 classpath:开头的意思是说从 classpath中寻找目标文件。

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

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 完美解决Java获取文件路径出现乱码的问题

    在Java中有时获取文件路径,获取的路径中存在中文或者是空格的时候,路径出现乱码.这个问题困扰了我好久,用过各种的转码都无济于事.在后来终于解决了,在这里和大家分享一下,其实也就是加一行代码的问题. 我在项目的是使用 String path = this.getClass().getClassLoader().getResource("/").getPath().substring(1); 这样来获得当前类的文件路径的.但是这样得到的是乱码.后来经过跟踪 在this.getClass(

  • 浅谈Java工程读取resources中资源文件路径的问题

    正常在Java工程中读取某路径下的文件时,可以采用绝对路径和相对路径,绝对路径没什么好说的,相对路径,即相对于当前类的路径.在本地工程和服务器中读取文件的方式有所不同,以下图配置文件为例. 本地读取资源文件 java类中需要读取properties中的配置文件,可以采用文件(File)方式进行读取: File file = new File("src/main/resources/properties/basecom.properties"); InputStream in = new

  • Java 读取指定路径的文本文件并返回String的方法

    如下所示: import java.io.*; /** * Created by liuyikai on 2016/8/13. */ public class FileUtil { public static String LoadContentByPath(String path) throws IOException { InputStream is = new FileInputStream(path); BufferedReader in = new BufferedReader(new

  • Java实现打印二叉树所有路径的方法

    本文实例讲述了Java实现打印二叉树所有路径的方法.分享给大家供大家参考,具体如下: 问题: 给一个二叉树,把所有的路径都打印出来. 比如,对于下面这个二叉树,它所有的路径为: 8 -> 3 -> 1 8 -> 2 -> 6 -> 4 8 -> 3 -> 6 -> 7 8 -> 10 -> 14 -> 13 思路: 从根节点开始,把自己的值放在一个数组里,然后把这个数组传给它的子节点,子节点同样把自己的值放在这个数组里,又传给自己的子节点,

  • 浅谈Java 将图片打包到jar中的路径问题

    Eclipse使用导出Jar包后打开加载不了图像? 出现这种问题的原因大多是因为路径的问题,往往是在项目中运行正常,但是一旦打包成Jar后就不能正常显示了,下面总结一下解决此类问题的方法: 一.通过使用外部资源文件的方式解决 把项目打包生成Jar后,再新建一文件夹,把项目中所有使用的图片文件和生成Jar文件放在该目录下,只要代码对图片文件的引用路径正确,如:ImageIcon image=new ImageIcon(SwingResourceManager.getImage("icons/log

  • Java读取其下所有文件夹与文件路径的方法

    Java读取其下所有文件夹与文件的路径,具体内容如下 如果在f:\aa文件夹中,有如下图的文件夹与文件: 那么,在Java中,则如此读取f:/aa下的所有文件路径: 1.首先由于用到了文件与容器类下的ArrayList,所以在开头要引入如下包: import java.io.*; import java.util.*; 2.方法如下,其中File dirFile除了盘符,比如f:,以外,能够接受一切合法的路径.由于盘符下含有一些系统文件,拒绝访问,因为读取盘符,可能会出现空指针异常. //这里是

  • java编程求二叉树最大路径问题代码分析

    题目: Binary Tree Maximum Path Sum Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree. For example: Given the below binary tree, 1 / \ 2 3 Return 6. 节点可能为负数,寻找一条最路径使得所经过节点和最大.路径可以开始和结束于任何节点但是不能走回头路. 这道题虽然

  • java编程实现并查集的路径压缩代码详解

    首先看两张路径压缩的图片: 并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题.一些常见的用途有求连通子图.求最小生成树的 Kruskal 算法和求最近公共祖先(Least Common Ancestors, LCA)等. 使用并查集时,首先会存在一组不相交的动态集合 S={S 1 ,S 2 ,⋯,S k } ,一般都会使用一个整数表示集合中的一个元素. 每个集合可能包含一个或多个元素,并选出集合中的某个元素作为代表.每个集合中具体包含

  • Java实现Floyd算法求最短路径

    本文实例为大家分享了Java实现Floyd算法求最短路径的具体代码,供大家参考,具体内容如下 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.Scanner; public class TestMainIO { /** * @param args * @throws FileNotFoundException */ public static void main(Stri

  • java 读取文件路径空格、"+"和中文的处理方法

    有时候在java代码中读取文件,如果文件所在路径包含空格."+"号或者是中文的时候,由于这些特殊的字符会被进行编码转译,所以就会报没有发现文件的错误,那么遇到这种错误,我们就要把编码过后的路径进行解码,这样才能正确的找到文件.主要的解决方法有一下三种方法: 解决方法 1.替换法 比如文件路径如果存在空格,那么会被转译成"%20",那么就可以利用字符串替换,把"%20"传化成空格,这样就能正确的找到文件了.这是这种如此暴力,低级的处理方法,一般有经

  • 浅谈java 中文件的读取File、以及相对路径的问题

    一.对于java项目中文件的读取 1.使用System 或是 系统的Properties对象 ①直接是使用 String relativelyPath=System.getProperty("user.dir"); ②使用Properties对象 我们先来遍历一下系统的属性: Properties properties = System.getProperties(); Enumeration pnames = properties.propertyNames(); while (pn

随机推荐