• servlet是什么?servlet到底是啥?


     

    #说实话

    这个鬼servlet我听说过它好多年了,但是我真的不知道它到底是干啥用的。内心里总觉得这是个很复杂的,绝对是让人难以理解的东西,我真的感觉自己很抗拒它,不想知道,不想去了解。可是我还是不得不去研究下它,因为我想知道Tomcat这个鬼东西,要想知道Tomcat的事,就必须要知道跟Tomcat缠绕在一起的servlet。

    今天之前我总觉得这个servlet一定跟http协议 , TCP/IP ,什么应用层,传输层 等这些乱七八糟的,一辈子都搞不懂的破事儿有关系。总把Servlet和太多东西联系起来,以为它是个很复杂的东西。其实不是。

    #servlet到底是啥?

    既然上面说了servlet不复杂,那servlet到底是啥。 事实上,servlet就是一个Java接口。接口的作用是啥,是规范!

    什么网络协议,什么http,什么传输层应用层这些牛鬼蛇神 servlet统统管不着。

    servlet这个接口只有5个方法。

     servlet接口定义的是一套处理网络请求的规范。

    其中最主要的是两个生命周期方法init(),destroy(),还有一个处理请求的service().

    所有想要处理网络请求的类,都要回答这3个问题:

    1)你初始化时要做什么
    2)你销毁时要做什么
    3)你接受到请求时要做什么

    这是Java给的一种规范

    servlet是一个规范,那实现了servlet的类,就能处理请求了么?

    不好意思,答案:不能

    #是哪儿用到了servlet?

    写一个servlet的时候,我没从来不会在servlet中写什么监听8080端口的代码,servlet不会直接和客户端打交道!那请求怎么来到servlet呢?答案是servlet容器,比如我们最常用的Tomcat ,

    Tomcat才是与客户直接打交道的家伙,它监听端口,请求过来后,根据URL信息,确定要将请求交给哪个servlet去处理,然后调用那个servlet的service方法,service方法返回一个response对象,Tomcat再把这个response返回给客户端。

    参考 

    https://www.zhihu.com/question/21416727

    https://www.zhihu.com/question/21416727/answer/339012081

  • 相关阅读:
    CSS3_02之2D、3D动画
    CSS3_01之选择器、Hack
    css_04之显示、定位
    css_03之文本、浮动
    css_02之盒模型、渐变
    javascript获取非行间样式的方法(可以兼容各个浏览器)
    gulp的用法
    grunt的用法
    grunt
    git用法
  • 原文地址:https://www.cnblogs.com/baxianhua/p/12048271.html
Copyright © 2020-2023  润新知