Tomcat正统的类加载器架构

本文探讨了Tomcat作为Web服务器如何通过类加载器架构实现应用隔离、资源共享及安全防护。Tomcat目录结构中的/common、/server、/shared和/WEB-INF/*用于存放不同权限级别的类库。类加载器包括CommonClassLoader、CatalinaClassLoader、SharedClassLoader和WebAppClassLoader,其中Jsp类加载器用于支持JSP热替换。Tomcat 6.x版本默认将/common、/server和/shared合并为/lib目录。

  一个功能健全的Web服务器,要解决如下几个问题:

  1)部署在同一个服务器上的两个Web应用程序所使用的Java类库可以实现相互隔离。

  2)部署在同一个服务器上的两个Web应用程序所使用的Java类库可以相互共享。

  3)服务器需要尽可能地保证自身的安全不受部署的Web应用程序影响。

  4)支持JSP应用的Web服务器,大多数都需要支持HotSwap功能。“主流”的Web服务器都会支持JSP生成类的热替换,当然也有“非主流”的,运行在生产模式(Production Mode)下的WebLogic服务器默认就不会处理JSP文件的变化。

  在Tomcat目录结构中,有3组目录(“/common/*”,“/server/*”,“/shared/*”)可以存放Java类库,另外还可以加上Web应用程序自身的目录“/WEB-INF/*”:

  1)放置在/common目录中:类库可被Tomcat和所有的Web应用程序共同使用。

  2)放置在/server目录中:类库可被Tomcat使用,对所有的Web应用程序都不可见。

  3)放置在/shared目录中:类库可被所有的Web应用程序共同使用,但对Tomcat自己不可见。

  4)放置在/WebApp/WEB-INF目录中:类库仅仅可以被此Web应用程序使用,对Tomcat和其它Web应用程序都不可见。

Tomcat服务器的类加载架构:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值