Servlet工作原理

Servlet容器:

我们以大家最为熟悉的Tomcat为例来介绍Servlet容器时如何管理Servlet的。

Tomcat容器分为4个等级,真正管理Servlet的容器是Context容器,一个Context容器对应一个Web工程。

Servlet容器的启动过程:

从添加一个web应用说起,当添加一个web应用时,将会创建一个StandardContext容器,并且给这个Context容器设置必要的参数,url和path分别代表这个应用在Tomcat中的访问路径和这个应用实际的物理路径。最后将这个Context容器加到父容器Host中。

接下来会调用Tomcat的start方法启动Tomcat。Tomcat的启动逻辑基于观察者模式设计的,所有的容器都会继承Lifecycle接口,它管理着容器的整个生命周期,所有容器的修改和状态的改变都会由它去通知已经注册的观察者(Listener)。

当Context容器初始化状态设为init时,添加到Context容器的Listener将会被调用。

Web应用的初始化工作:

应用的初始化主要是解析web.xml文件,这个文件描述了一个web应用的关键信息,也是一个Web应用的入口。web.xml文件中的各个配置项将会被解析成相应的属性保存在WebXml对象中。

最后,将Servlet包装成StandardWrapper并作为子容器添加到Context中,其他所有的web.xml属性都被解析到Context中。

所以说Context容器才是真正运行Servlet的Servlet容器。一个Web应用对应一个Context容器,容器的配置属性由应用的web.xml指定。

Serlvet体系结构:

与Serlvet主动关联的是三个类&#x

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值