tomcat底层原理

1.tomcat 是什么?

    好多人说tomcat是一个servlet容器,那么servlet又是什么呢?servlet是server applet的总称,简单理解就是服务端程序,即客户端发送请求-->网络传送--服务端接收处理请求三个环节中的最后一个环节,为了统一客户端的请求即出现了servlet规范。

2.servlet中的doGet方法调用,需要传入req和resp,谁去实现这个接口呢?答案是tomcat实现了此接口,因为tomcat接受到客户端请求处理之后将参数组装成request和response,然后调用doGet()方法;

3.jar和war的区别:jar一般认为是依赖包,tomcat无法区分jar包是依赖还是一个web应用,所以一般部署就是war包;

   tomcat部署三种方式:

      1.描述符部署

         context.xml中定义或者再server.xml中定义一个context;

      2.war包和文件夹部署如下源码

4.tomcat容器之间的关系

     servlet ->wrapper->context(应用)-->host(主机)-->Engine(容器)

  

 servlet 请求顺序:Engine(Plpleline)-->host(Plpleline)-->context(Plpleline)-->wrapper(Plpleline)(StandardWrapperValve)-->servlet(httpservlet)

   如下图示即可体现wrapper-->servlet之间的调用关系

到此我们如下平面图的右侧部分可以理解清楚了

那么现在来看左边部分的实现,浏览器到底是怎样给tomcat发送请求的呢?那就得引入TCP协议规范了,TCP协议可以保证数据可靠的传输,操作系统实现了TCP协议,如下linux源码中实现得三次握手

java中实现socket根据源码得知最终实现了native方法,

在openJDK中得实现如下

继续寻找

window系统中寻找文件

如下就是操作系统里面给出的接口

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值