Servlet是什么
首先说明,Servlet什么都不是,他只是一个规范,是Java的一个接口。
所以Servlet做的事情就是接口做的事情,Java的接口的作用就是规范。
servlet接口定义的是一套处理网络请求的规范,所有实现servlet的类,都需要实现它那五个方法,其中最主要的是两个生命周期方法 init()和destroy(),还有一个处理请求的service()
Web服务器和Servlet容器
Web服务器: web服务器就是将一个电脑上的资源映射成为一个URL供外界访问。
Servlet容器: 存放Servlet对象的容器,我们如果想要将通过URL来获得计算机上的资源,总绕不开三步:
- 接收请求
- 处理请求
- 响应请求
由于接受请求和响应请求是共性请求,不存在差异性(也就是不需要程序员根据不同的业务场景进行自定义),所以接收请求和处理请求这两个步骤就被抽取为Web服务器。
这里Tomcat就既是Web服务器,又是Servlet容器,他接收外部请求并封装成ServletRequest,并将request发送给指定的Servlet,同时又将Servelet的处理结果整理成ServletResponse返回给客户端。