servlet容器以及ioc容器感性认识

servlet容器是干什么的?

首先需要明白什么是servlet和web服务器。servlet即server applet的缩写,即服务小程序,也就是我们高大上的程序员天天写的业务逻辑,在servlet层面上开发即是写在service()方法中的doGet()或doPost()方法体内的代码逻辑。web服务器,就是监听固定端口接收网络请求的。这时候有一个问题就会出现了,服务器接收到的请求,怎么找到相应对的servlet程序去处理呢?对的,对的,相信大多数人已经明白了,这就是servlet容器的作用。

专业说法,servlet容器有以下几个作用:

1、通信支持,servlet容器封装了监听端口、创建流等复杂的操作,保证web服务和servlet的对话。

2、生命周期管理,容器加载servlet的类字节码文件、创建对象、调用servlet对象、销毁和回收servlet对象。

3、线程管理,容器会为每次对servlet的请求分配一个线程,并在使用结束后进行回收。

4、等等!

总的来说,就是servlet容器提供了我们servlet代码的管理和运行环境,这样我们就可以解放出来专心写业务代码啦!

一个请求流程

 

如上图一个http请求(http://zwh.mc.com/war/weapon/sword.jsp)发送到8080端口,由Connector监听到(上图步骤1),并将该信息发送给servlet容器(上图步骤2),经过解析域名找到对应的zwh.mc.com的主机host,然后解析请求中的路径信息/war/weapon去servletContext环境中去寻找对应的路径映射信息(上图步骤4),然后通过解析sword.jsp得到该环境下对应的的servlet文件(步骤5)。因此在通过servlet容器的管理和协调下,一个请求可以找到对应的servlet即sword.jsp。

联想到spring的ioc容器

spring的ioc容器想必大家都清楚,只要写好类字节码文件,并配置或注解,ioc容器会自动帮你管理该对象的创建、注入调用、销毁等操作,我们程序开发者只需将精力放在创建类信息,并在需要的地方注入该对象即可。看看,ioc的容器也是一个管理的功能,是不是和servlet容器的功能由异曲同工之妙呢。

没有写的特别学究,因为本文的主题是感性认识,如有异议,欢迎提出 。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值