您的位置:首页 > 运维架构 > Tomcat

how tomcat works(第八章)

2010-01-02 06:14 218 查看
在前面的章节中已经介绍了一个简单的加载器,用它来加载servlet类。这一章会介绍标准网络应用加载器(standard web application loader),简单的说就是加载器。一个servlet容器需要一个定制的容器,而不是简单的使用系统的加载器。如果像前面章节中那样使用系统的加载器来加载servlet和其他需要的类,这样servlet就可以进入Java虚拟机CLASSPATH环境下面的任何类和类库,这会带来安全隐患。Servlet只允许访问WEB-INF/目录及其子目录下面的类以及部署在WEB-INF/lib目录下的类库。所以一个servlet容器需要一个自己的加载器,该加载器遵守一些特定的规则来加载类。在Catalina中,加载器使用org.apache.catalina.Loader接口表示。

Tomcat需要一个自己的加载器的另一个原因是它需要支持在WEB-INF/classes或者是WEB-INF/lib目录被改变的时候会重新加载。Tomcat的加载器实现中使用一个单独的线程来检查servlet和支持类文件的时间戳。要支持类的自动加载功能,一个加载器类必须实现org.apache.catalina.loader.Reloader接口。

本章的第一节先简要的回顾下Java的类加载机制。接下来介绍了加载器必须实现的Loader接口,然后是Reloader接口。接下来看到的是加载器的实现,最后本章使用一个程序说明了怎么使用Tomcat类的加载器。

本章广泛使用的是两个词:库(repository)和源(resources)。库表示加载器查找的地方,源表示加载器中的DirContext对象,它的文档基(document base)指向了上下文的文档基

http://docs.google.com/View?id=ddxgftrb_9g3w42fch
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: