`
tudusi
  • 浏览: 1049354 次
文章分类
社区版块
存档分类
最新评论

【TOMCAT】Tomcat6 类装载器

 
阅读更多

Tomcat6 类装载器

1人收藏此文章,收藏此文章 发表于6个月前 , 已有40次阅读 共0个评论1人收藏此文章
Tomcat6 类装载器的实现都是通过继承于JDK中的 java.lang.ClassLoader类。
包括Bootstrap,System,Common和Webapp这四种类加载器来实现不同目录的类文件装载。
示例结构如下:
Bootstrap
|
System
|
Common
/ \
Webapp1 Webapp2 ...

Bootstrap 类装载器:
它用于加载最基本的JVM运行环境类,装载JDK目录下类文件($JAVA_HOME/jre/lib/ext)
使用它的目的是以防一些JVM提供商实现时,可能考虑某些原因会把部分的类文件通过不同的多个类加载加器加载,同时会
屏蔽一些类加载让应用层的类加载器访问到。
System 类装载器:
该类装载器根据JVM的CLASSPATH参数设置装载类文件,该类装载器对于Tomcat内部的程序和应用层的程序都是可见的。
注:目前tomcat5的启动脚本($CATALINA_HOME/bin/catalina.sh 或 %CATALINA_HOME%\bin\catalina.bat),会把全局环境变量CLASSPATH忽略。
而且通过下面的两个类库来实现装载设置:
* $CATALINA_HOME/bin/bootstrap.jar 包含一个main()方法来初始化tomcat6服务,并实例类装器所依赖的类文件。
* $CATALINA_HOME/bin/tomcat-juli.jar 初始Jakarta commons logging API和 java.util.logging LogManager.
Common 类装载器:
该类装载器对于Tomcat内部的程序和应用层的程序都是可见的.
当然不太建议把应用层的类库放到这里来加载。
所有$CATALINA_HOME/lib目录下未压缩的类文件,资源和压缩后Jar/zip文件都会补该类装载器加载。

Tomcat6默认该目录的类文件有:
* annotations-api.jar - JEE annotations classes.
* catalina.jar - Implementation of the Catalina servlet container portion of Tomcat6.
* catalina-ant.jar - Tomcat Catalina Ant tasks.
* catalina-ha.jar - High availability package.
* catalina-tribes.jar - Group communication package.
* el-api.jar - EL 2.1 API.
* jasper.jar - Jasper 2 Compiler and Runtime.
* jasper-el.jar - Jasper 2 EL implementation.
* jasper-jdt.jar - Eclipse JDT 3.2 Java compiler.
* jsp-api.jar - JSP 2.1 API.
* servlet-api.jar - Servlet 2.5 API.
* tomcat-coyote.jar - Tomcat connectors and utility classes.
* tomcat-dbcp.jar - package renamed database connection pool based on Commons DBCP.
* tomcat-i18n-**.jar - Optional JARs containing resource bundles for other languages. As default bundles are also included in each individual JAR, they can be safely removed if no internationalization of messages is needed.

Webapp 类装载器:
应用层的类装载器,每个应用程序都会创建一个单独的类装载器。该类装载器只能本应用程序中可见。
所有/WEB-INF/classes目录下未压缩的类文件,资源文件都会补该类装载器加载。
所有/WEB-INF/lib目录下压缩后Jar/zip文件都会补该类装载器加载。


把各个类装载器的定义整理出来后,Tomcat6服务器类装载器执行的顺序如下:

* Bootstrap classes of your JVM
* System class loader classses (described above)
* /WEB-INF/classes of your web application
* /WEB-INF/lib/*.jar of your web application
* $CATALINA_HOME/lib
* $CATALINA_HOME/lib/*.jar
关键字:类装载器,java , Tomcat
声明:OSCHINA 博客文章版权属于作者,受法律保护。未经作者同意不得转载。
分享到:
评论

相关推荐

    apache-tomcat-7.0.75

    apache_tomcat_7.0.75, 可以装载dubbo-admin项目,已经配置好,可以运行dubbo项目

    Tomcat-8.5.41-windows-x64.rar

    tomcat的8.5.41版本,它可以实现JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的一款环境

    apache-tomcat-8.5.40.tar.zip

    tomcat是一个开源而且免费的jsp服务器,属于轻量级应用服务器。它可以实现JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的一款环境。

    spring 重新动态加载数据库或xml中的bean,可以不用重启tomcat

    spring 重新动态加载数据库或xml中的bean,可以不用重启tomcat

    jsp全攻略,tomcat技术

    reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序 host (表示一个虚拟主机...

    TOMCAT的安装以及常见问题的解决

    TOMCAT是一个开源而且免费的jsp服务器,可实现JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的一款环境 下面简述一下Tomcat的安装以及安装中常见的一些问题与解决方法 1.JDK的安装: 下载链接:...

    jdk,tomcat.Eclipse,mysql装机文档

    针对每一个开发工具详细记录每一个流程便于装载时出现你的误解

    apache-tomcat-11.0.0-M3-windows-x64

    它是由Apache推出的一款免费开源的Servlet容器,可实现JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的一款环境。它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,在处理静态...

    Linux下tomcat多实例配置

    Linux下tomcat多实例配置成功。步骤如下:  1. 下载一个免安装版本的tomcat,例如:...  webapps (自动装载的应用程序的目录)  work (JVM临时文件目录[java.io.tmpdir])  这几个文件夹中,只有bin,lib可以被多

    将Tomcat Service化

    按照<Tomcat>一文还是需要手工启动tomcat,这非常烦人的说我们可以借助一些工具是的tomcat作为windows nt 的一个service,在windows启动时自动装载,步骤如下:1,下载工具,我用的是gservany – Utility to ...

    Java Web之高级应用

    Tomcat中的类装载器 为Tomcat配置Https协议功能 为站点增加自动登录和单点登录功能 解决Web开发中的相对路径问题 为网站配置相同页眉和页脚的技巧 总结分析Web开发中的各种字符乱码问题

    Java Web之高级应用,以ppt的形式呈现

    Java Web之高级应用,内容包括Tomcat中的类装载器 为Tomcat配置Https协议功能,为站点增加自动登和单点登录功能,解决Web开发中的相对路径问题,为网站配置相同页眉和页脚的技巧,总结分析Web开发中的各种字符乱码...

    Docker构建CentOS+Tomcat+Jdk

    装载Docker镜像 [root@master_150 ~]# docker load -i centos.tar 启动容器 -i:表示以“交互模式”运行容器 -t:表示容器启动后会进入其命令行 -v:表示需要将本地哪个目录挂载到容器中,格式:-v : /bin/bash:...

    Java开发技术大全(500个源代码).

    inheritConstruct_6.java 构造器继承示例6 inheritor.java 子类覆盖父类示例 inPack.java 包示例 LotsOfColors.java 定义一个子接口 matching.java 重载解析示例 notInPack.java 用前缀引用包中的类 onlyShow...

    Servlet请求和响应的资料,帮助初学者掌握Servlet的请求和响应

    (Tomcat,WebLogic,WebSphere)就是装载Servlet和JSP的环境、负责管理它们的各种对象,并且负责 它们的生命周期以及相关服务的链接。 1. 客户端对Web服务器发出HTTP请求 2. HTTP服务器(Apache)收到HTTP请求以后,...

    用web.xml控制Web应用的行为

    Tomcat 10 5 初始化和预装载servlet与JSP页面 10 5.1 分配servlet初始化参数 10 5.2 分配JSP初始化参数 13 5.3 提供应用范围内的初始化参数 15 5.4 在服务器启动时装载servlet 15 6 声明过滤器 16...

    毕设-B2B 在线招标系统

    1.环境 jdk 1.7+ 、 tomcat 7 、 Mysql 5 、 maven 3 、UTF-8编码 2.sql 见 src 目录下 sql 文件 , 默认 hibernate 自动建表 3.配置文件见 src/resources 目录 1.springMvc 以 location="classpath:*-gourderwa....

    Spring.3.x企业应用开发实战(完整版).part2

    3.2.2 类装载器ClassLoader 3.2.3 Java反射机制 3.3 资源访问利器 3.3.1 资源抽象接口 3.3.2 资源加载 3.4 BeanFactory和ApplicationContext 3.4.1 BeanFactory介绍 3.4.2 ApplicationContext介绍 3.4.3 父子容器 ...

    Spring3.x企业应用开发实战(完整版) part1

    3.2.2 类装载器ClassLoader 3.2.3 Java反射机制 3.3 资源访问利器 3.3.1 资源抽象接口 3.3.2 资源加载 3.4 BeanFactory和ApplicationContext 3.4.1 BeanFactory介绍 3.4.2 ApplicationContext介绍 3.4.3 父子容器 ...

Global site tag (gtag.js) - Google Analytics