Tomcat学习之Servelet容器如何调用Servlet

本章学习了一个简单的Servlet容器,简述包含以下几个类及其作用:
1、Server类
该类用来启动一个ServerSocket用来监听来自于客户端的请求。
2、Request类
该类设置socket.inputStream()作为自己的私有变量,按照http协议解析来自客户端的请求。包括获取请求方法,请求的uri等方法。
3、Response类
该类将Request对象和socket.outputStream()作为自己的成员,可以接处理自request的静态请求,并将返回的内容输出。
4、Servlet类
该类继承与Servlet接口,用来处理实际的请求。实现了Servlet的init、service、destroy等接口。

下面重点来了,当接受到来自客户端的请求后,servlet容器是如何启动该servlet的。该章中讲解的比较简单,没有涉及到servlet的xml配置文件。
第一步:首先根据http的请求url,该url的格式做如下约定http://xxx/servlet/servlet-package,及servlet表示这是一个动态请求,要用到servlet来处理,servlet-package表示该servlet所在的包。
第二步:根据servlet的所在包,利用ClassLoader来加载该类的Class对象,然后利用Class对象的newInstance()方法,新建该类的实例。因为该Servlet类实现了Servlet接口,因此可以将该实例向上转型,作为Servlet接口类型。
第三步:调用Servlet接口的service()方法来处理实际的请求,即实际上调用了根据包名被加载的servlet(也就是实际处理该http请求的servlet)。至此,servlet容器成功调用了需要处理该请求的servlet对象。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值