Servlet、Servlet容器、Tomcat、session都是些什么玩意儿?

相信大家学习过Java后,一定对容器不陌生,常见的容器类(集合类)有List、Set、Map,而Servlet容器,也是容器的一种,它是一种特殊的容器。

(List是有顺序的,常用的主要有Vector、ArrayList、LinkedList三个容器类; Set是无序的,其中不能包含重复元素,常用的主要有:HashSet、TreeSet;Map是以键值对的方式存储数据的一种容器类,常用的有:HashMap、HashTable、TreeMap。关于集合类的具体内容将在下一篇详细讲解。)

对比ArrayList,当我们设置一个 int 型的ArrayList数组,此时,这个List集合只能存放 int 型数据,同理,可以把Servlet容器想象成只能放Servlet类型的区域,在Servlet容器中可以存放很多个Servlet。见下图:

JavaWeb学习之servlet快速入门(形象生动理解容器、Servlet、Tomcat、session之间的关系)

那么,对以上内容理解之后,我们再回过头来看一下较为抽象的定义,这时再看,就很容易理解了。

Servlet是什么?

  • 含义:Servlet翻译过来是Java服务器端的小程序(对应applet客户端小程序)
  • 特点:
    1、servlet是在服务器端调用和执行
    2、用java编写
    3、按照Servlet规范开发,
    4、功能十分强大,可以完成几乎所有的网站功能
    5、学习JSP基础

Tomcat是什么?它和Servlet有什么关系 ?

  • Servlet容器其实就是JavaWeb服务器,其中包含多个不同的Servlet;例如, Tomcat、Netty就是常见的Servlet容器
  • servlet容器(Tomcat)与servlet是一对多关系。

session是什么?

  • 理解了Tomcat和Servlet的关系后,session就很容易理解了,在每个Servlet中都可以有很多个session,每当一个新的浏览器发送请求,就会产生一个session。
    -每个session都有独一无二的session id ,用来区分不同的浏览器,也就是说,任何两个session都是不一样的。
    -【注意】:虽说理论上任何两个session都是不同的,但允许存在两个除session id 以外,功能完全相同的两个session;
    而一个Servlet容器中的所有servlet功能都是不同的
    JavaWeb学习之servlet快速入门(形象生动理解容器、Servlet、Tomcat、session之间的关系)

如上图所示,Servlet容器中有多个Servlet,用户通过浏览器发出请求,在相应的servlet生成一个session。

最后,附上一张终极图,理解它,意味着你已经完全掌握了Servlet的原理(图片来源于网络)
JavaWeb学习之servlet快速入门(形象生动理解容器、Servlet、Tomcat、session之间的关系)

相关文章:

  • 2021-08-04
  • 2021-07-13
  • 2022-12-23
  • 2021-11-20
  • 2021-09-03
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-05-18
  • 2022-01-27
  • 2021-11-09
  • 2021-05-30
  • 2022-02-26
  • 2022-12-23
相关资源
相似解决方案