http://perfy315.iteye.com/blog/2009258
首先 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路径)进行查找.
或者引用其子目录下的文件,如
classpath*的使用:当项目中有多个classpath路径,并同时加载多个classpath路径下(此种情况多数不会遇到)的文件,*就发挥了作用,如果不加*,则表示仅仅加载第一个classpath路径,代码片段:
- <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*。
相关推荐
Spring 配置中的classpath:与classpath*:的区别 Spring 配置中的classpath:与classpath*:的区别是 Spring 框架中一个常见的问题。本文主要介绍了这两种路径的区别、使用场景及注意事项,以帮助读者更好地理解和使用...
下面我们将详细探讨`web.xml`中涉及Spring MVC的主要配置项。 1. **监听器(Listener)** `web.xml`中的监听器允许我们在特定事件发生时执行代码,例如应用程序启动或关闭。在Spring MVC中,`org.springframework....
<param-value>/WEB-INF/classes/applicationContext-*.xml,classpath*:applicationContext-*.xml ``` 上述配置表示Spring将加载`/WEB-INF/classes`目录下以`applicationContext-`开头的XML配置文件,以及类路径(`...
在Spring框架中,Web应用程序的配置通常涉及到对`web.xml`文件的设置,这是传统的部署描述符,用于定义Servlet、监听器和其他Web组件。当我们谈论“加载Spring文件,在web.xml中的配置”时,主要是指如何在Web应用...
将这个文件添加到项目的类路径(classpath)中,就可以解决因缺失`javax.xml.rpc`库导致的问题。 `javax.xml.rpc` API的主要组件包括: - `javax.xml.rpc.ServiceFactory`:这个接口提供了创建服务代理的工厂方法,...
当web.xml中配置了`<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>`,容器启动时会调用其相关方法,初始化Spring应用上下文。ContextLoaderListener依赖于ContextLoader...
在Java Web应用开发中,`web.xml`是部署描述符的核心部分,用于定义与Web应用程序相关的配置信息。对于使用SSH(Struts + Spring + Hibernate)和SSI(Struts + Spring + iBatis)等框架的应用程序而言,合理的`web....
#### 四、WEB 服务器 Tomcat 6.0 安装与配置 **Tomcat 安装:** 1. **下载Tomcat安装包:** 从官方网站下载Tomcat 6.0的压缩包。 2. **解压安装包:** 解压到指定目录。 3. **配置Tomcat环境:** 设置`CATALINA_...
- **配置classpath:** 为了使配置文件直接位于classpath下,需要在PackageExplorer视图中进行额外设置。 **11. 注释设置:** - **类型注释模板:** 设置类的注释模板,如包含描述、作者、公司等信息。 **12. ...
`web.xml` 是一个重要的配置文件,在 Java Web 应用程序中用于定义各种初始化参数、过滤器、监听器等。在 ZK 6.5.0 中,该文件被用来配置与 ZK 相关的各种组件。 - **ZKLoader**: 负责加载 ZK 库并初始化相关环境。...
web应用程序通过Tomcat等容器启动时,会首先加载web.xml文件,通常我们工程中的各种配置文件,如日志、数据库、spring的文件等都在此时被加载,下面是两种常用的配置文件加载路径,即配置文件可以放到 SRC目录下或者...
在Java Web开发中,`web.xml`是应用的部署描述符,它是应用程序配置的核心,用于定义各种组件、过滤器、监听器等。以下是一些关键配置点的归纳: 1. **Spring上下文配置** 当我们需要改变`applicationContext.xml`...
在Java开发中,`javax.xml.ws.Service` 是一个核心组件,属于Java API for XML Web Services (JAX-WS)的一部分,用于创建客户端和服务端的Web服务代理。报错通常表明缺少必要的依赖包,这可能会影响到程序的正常运行...
【JSP开发环境配置与测试】的文档主要针对J2EE初学者,旨在教会他们如何配置JSP开发所需的各种系统环境。以下是对该文档主要内容的详细解析: **一、实验目的** 1. **搭建Web编程环境**:确保安装并配置Java运行...
* `logging.config`:日志配置文件的位置,默认为classpath下的`logback.xml`。 * `logging.level.*`:日志级别,例如`logging.level.org.springframework=DEBUG`。 Identity * `spring.application.name`:应用...
struts.properties中的属性也可以在web.xml或struts.xml中进行配置。在web.xml中,你可以使用"init-param"标签,而在struts.xml中,你可以使用"constant"标签来设置这些属性。这样做提供了更大的灵活性,让开发者...
在现代的Spring应用程序中,整合Hibernate时,我们通常会选择使用Spring的IoC(Inversion of Control)容器来管理数据访问层,而不是直接依赖于Hibernate的配置文件`hibernate.cfg.xml`。这是因为Spring提供了更高级...
2. **更新Maven配置**:在`pom.xml`中正确设置`<mainClass>`标签,例如: ```xml <groupId>org.apache.maven.plugins <artifactId>maven-jar-plugin <version>3.1.0 <addClasspath>true ...