• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Tomcat 4中的ClassLoader

发布: 2007-7-04 13:34 | 作者: admin | 来源:  网友评论 | 查看: 9次 | 进入软件测试论坛讨论

领测软件测试网 Tomcat 4中的ClassLoader
sonymusic.
(译的比较差啦,大家随便看看吧。为了让英文好的同志直接查看,有不少是中英文都在一起的。如果有错,请指出来。谢谢!)


For classes and resources specific to a particular web application, place unpacked classes and resources under /WEB-INF/classe of your web application archive, or place JAR files containing those classes and resources under /WEB-INF/lib of your web application archive.
如果只准备给某一个应用使用,就放到该应用的/web-inf/classes目录下,如果是jar,zip文件 的话,就放到/web-inf/lib目录下。

For classes and resources that must be shared across all web applications, place unpacked classes and resources under $CATALINA_HOME/classes, or place JAR files containing those classes and resources under $CATALINA_HOME/lib.
如果是准备给所有的web应用使用的话,就解到$Catalina_home/classes目录下,如果是jar,zip文件的话,就直接放到$Catalina_home/lib目录下。


ClassLoader的顺序:
如图:

      Bootstrap

          |

       System

          |

       Common

      /      \

  Catalina   Shared

             /   \

        Webapp1  Webapp2 ...

          /         /

       Jasper1  Jasper2 ...

说明:
Bootstrap -
包含了JVM中的基本的类,$Java_home/jre/lib/ext/目录下的jar文件也算。当然有一些JVM做法不一样。

System - 系统环境变量中的Classpath

Common - 包括 $CATALINA_HOME/common/classes(解开后的文件), $CATALINA_HOME/common/lib(jar文件),请不要将web application所专用的文件放到这里来。

Catalina - 包括$CATALINA_HOME/server/classes,  $CATALINA_HOME/server/lib(注意这里的Class是不能够被web应用访问的。这只是为了实现tomcat而需要的。)

Shared - 包括$CATALINA_HOME/classes, $CATALINA_HOME/lib

WebappX - 包括特定web应用目录下的 /WEB-INF/classes 和 /WEB-INF/lib (只能被该web应用所使用)

JasperX - 如果你的web应用使用了JSP,tomcat也为其创建了一个classloader,包括jsp编译器及需要的类。因为这个classloader是上一个classloader的child,所以在JSP编译器和编译过后的jsp文件中可以看到上面所有的class path。


注1:以上除特别说明,都表示可以被所有的web应用使用。
注2:一般来说会将解开来的class文件放到classes目录下,将jar,zip文件放到lib目录下。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网