4. TOMCAT学习——TOMCAT的载入器

  • TOMCAT的载入器是什么

TOMCAT的载入器指的是 Servlet应用的载入器,一个Servlet应用就会有一个载入器的实例。每个载入器中都引用了 TOMCAT的自定义类加载器

载入器继承于 org.apache.catalina.Loader 接口。TOMCAT的载入器是 org.apache.catalina.loader.WebappLoader

默认的类加载器是 org.apache.catalina.loader.WebappClassLoader

  • 为什么TOMCAt需要自定义类加载器?

要说明这个问题,需要考虑TOMCAT设计时,给予Servlet应用的权限。

事实上,Servlet只允许访问当前Servlet 应用中 WEB-INF/class目录下的类,和WEB-INF/lib下的包。

为了达到这个目的,TOMCAT必须要做两件事

  1. 自定义类加载器 (如果使用系统的类加载器载入一个Servlet类,那么servlet就能访问所有的类,包括当前运行的Java虚拟机中ClassPath路径下的所有库类。)
  2. 类加载器与Context绑定(Context对应一个Servlet应用,每个Servlet应用的类加载权限需要独立)

TOMCAT本身使用的类加载器

  • 三个Loader的作用是什么?

TOMCAT包含三个Loader,分别是commonLoader,catalinaLoader和sharedLoader
commonLoadercatalinaLoadersharedLoader的父加载器。

commonLoader中包含了一下路径

common.loader=${catalina.base}/lib,
                ${catalina.base}/lib/*.jar,
                ${catalina.home}/lib,
                ${catalina.home}/lib/*.jar

默认情况下,catalinaLoadersharedLoader的路径和commonLoader一样。
可以在catalina.properties中配置。

#catalinaLoader的路径
server.loader=
#sharedLoader的路径
shared.loader=
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值