昨天在读一篇帮助:http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html
是讲述Tomcat中,classLoader如何工作的。
其中一段是这样讲的:
引用
Therefore, from the perspective of a web application, class or resource loading looks in the following repositories, in this order:
Bootstrap classes of your JVM
System class loader classes (described above)
/WEB-INF/classes of your web application
/WEB-INF/lib/*.jar of your web application
$CATALINA_HOME/lib
$CATALINA_HOME/lib/*.jar
我的理解是,当Tomcat中的某个Web应用,需要请求某个class信息,或者是资源信息,将会按照以下的顺序进行查找。
JVM
Tomcat启动的关键类
应用中的classes目录下的class文件
应用中lib目录下的jar文件
Tomcat安装目录下的lib目录
Tomcat安装目录下的lib目录下的jar文件。
如果按照这样来看的话,应该会出现这样的情况,如果同一个Tomcat下有两个不同的web应用,这两个应用都在自己的lib目录下使用同样的第三方jar包。那么Tomcat会使用不同的Web应用级别的classLoader来加载这两个jar包。
这样就造成了Perm空间的浪费。
分享到:
相关推荐
总的来说,理解和配置Tomcat的跨域策略是现代Web开发中的一个重要技能,它能确保你的服务能够顺利地与不同源的客户端进行通信,无论是移动应用还是单页应用。通过以上步骤,你可以有效地解决Tomcat的跨域问题,提升...
在JavaEE开发中,使用内嵌的Tomcat服务器(通常称为embeded Tomcat)是一种常见的实践,它允许开发者在本地环境中快速、方便地测试和调试应用程序,而无需手动配置独立的服务器实例。本文将深入探讨如何使用embeded ...
- **Resource Loading**:除了加载类,ClassLoader还负责加载应用中的其他资源,如配置文件和图片。 通过对Tomcat 5.0.18 ClassLoader的源码分析,我们可以更好地理解和控制应用的类加载行为,这对于解决类冲突、...
而在Java领域,Tomcat是最为广泛使用的Web服务器之一,它不仅能够作为一个独立的Web服务器运行,还可以嵌入到其他Java应用服务器中。 Web应用则是由一系列的网页和其他资源组成的应用程序,这些资源可以是HTML文档...
- 在应用项目的`WEB-INF/web.xml`文件中添加对数据源的引用。 ```xml <resource-ref> <description>MySQL DataSource <res-ref-name>jdbc/TestDB <res-type>javax.sql.DataSource <res-auth>Container </...
**Tomcat**是一款开源且轻量级的Java Servlet容器,它实现了Servlet和JavaServer Pages(JSP)规范,用于部署Web应用程序。Tomcat的配置主要包括以下几个方面: 1. **服务器配置(server.xml)**:这是Tomcat的主要...
在Servlet容器(如Tomcat)中,`webroot`是应用程序的根目录,可以通过`ServletContext`对象获取。首先,我们需要在Servlet或者Filter中获取`ServletContext`实例: ```java ServletContext context = ...
Tomcat 数据库连接池是一种高效的数据库连接管理机制,它能够帮助开发者快速建立和管理数据库连接,提高应用程序的性能和可靠性。在本文中,我们将详细介绍 Tomcat 数据库连接池的设置过程。 Step 1: 将数据库驱动...
在现代Web应用程序开发中,数据库连接管理和数据访问操作是非常关键的一部分。JDBC(Java Database Connectivity)作为Java平台的标准数据库访问技术,使得开发者能够使用Java语言编写应用程序来访问各种类型的...
【标题】"Tomcat7源码" ...通过分析Tomcat7源码,开发者可以学习到如何构建一个高效的Web服务器,理解Java Web应用的运行机制,同时也可以根据具体需求对其进行优化和扩展,以满足特定项目的需求。
在IT行业中,尤其是在Java Web开发领域,Tomcat和Hibernate是两个非常重要的工具。Tomcat是一款广泛应用的开源Web服务器和Servlet容器,而Hibernate则是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间...
在Java Web应用中,Tomcat作为流行的开源Servlet容器,经常被用来部署和运行Web应用程序。在这样的环境中,数据库连接管理是关键的一部分。本篇将详细解释如何在Tomcat下配置JNDI(Java Naming and Directory ...
总结来说,配置Tomcat连接池是提升Web应用性能的关键步骤,它涉及到管理界面的操作和配置文件的修改。理解这些参数的意义并根据实际情况进行调整,能够帮助你更好地管理和优化你的数据库连接,提升应用的整体性能。
标题 "tomcat同源限制解决包" 涉及到的是在Web开发中常见的安全策略——同源策略(Same-Origin Policy)以及如何在Tomcat服务器上处理跨域请求的问题。同源策略是浏览器为了保护用户数据安全而实施的一项重要机制,...
Tomcat作为一款广泛应用的Java Web服务器,提供了解决跨域问题的方法。"tomcat支持跨域jar.zip"这个压缩包文件可能包含了针对Tomcat的跨域解决方案,特别是对于处理模型配置文件的跨域请求。 首先,我们来了解...
在Java Web开发中,Tomcat作为轻量级应用服务器,常常被用于部署Web应用程序。为了连接数据库,我们需要配置数据源(DataSource)。本篇将详细介绍如何在Tomcat 5.5版本中配置数据源,确保与数据库的顺利连接。 1. ...
在Java Web应用中,Tomcat作为流行的Servlet容器,经常被用来部署各种Web应用程序。数据库连接是Web应用中不可或缺的一部分,而Tomcat通过JNDI(Java Naming and Directory Interface)提供了一种管理数据库连接的...