目录
学习servlet,理解servlet容器是很重要的概念。如果没有理解好,到后面学习会觉得比较难。
一、什么是servlet容器
Servlet可以理解成是一个CGI,Servlet可以完成和CGI相同的功能。
所谓的CGI就简单来说,原来网站只支持静态的,只是一个纯web功能。后来人们想让网站生动起来,就发现了一个可以实现动态功能的小组件,处理非静态的内容,最后把它命名为CGI。
但是直接编写CGI效率太低了,由是产生了专门的语文来处理,如php、java等。php、java都是用CGI(java web中叫servlet)与web之间进行通讯的。
Servlet没有main方法,它们受控于另外的一个java程序,称之为容器(container)
简单来说就是这个程序管理着servlet,我们把这个能管理sevlet的程序叫容器。
著名的Tomcat就是servlet的一种容器
容器可以管理对象的生命周期、对象与对象之间的依赖关系。在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。
(反过来,是不是有这些特性的,我们就可以称它为“容器”^_^)
二、为什么要有容器
为什么需要容器,我们反过来理解,如果不用容器,即用另一个java程序管理servlet会有什么情况发生?
如果不使用容器管理servlet的话,那么servet需要做2个基本的工作
- 实例化自己、管理自己的生命周期、上下文等等
- 处理servlet相关的java程序
如果你是开发,你要写一个servet程序,你得先实例化、写好管理生命周期、运行环境、异常处理、上下文等等,然后才可以写servlet相关的java程序。
别人只是想用servet而已,你就要人家之前写一堆东西,而已写不好很容易出问题。我去,不用了!
有了专业的java程序管理后是怎么情况,我只需要专心写我的servlet代码就行了。