1.什么是Servlet?
是一种技术,一种编写扩展功能的技术。
Servlet有其编写规范,根据Servlet规范编写的Java类,就是我们大多数情况下说的Servlet。
这个被我称为Servlet的Java类是:一个单例的对象,在Web应用程序中它完成的工作是,接收客户端请求,检查请求数据,执行相应的后台逻辑,向客户返回响应。
2.什么是Servlet容器?
Servlet容器也被称为Servlet引擎,他是Web服务器或者应用服务器的一个组成部分,它包含一个和多个Web应用程序。
3.Servlet,Web应用程序以及Servlet容器之间的关系
图1 中,2个Web应用程序被部署在一个容器中,让我们来看看他们是怎么工作的。
1. Servlet容器通常监听8080端口上的所有请求,当一个HTTP请求到达8080这个端口的时候,通过解析请求的命名空间来发现是哪个应用程序,从URL命名空间中,我们既能发现时哪个应用程序,也能判断出事指向哪个独立的Servlet。
2. 当容器判断出是哪个Servlet的时候,它会调用HttpServlet的service()方法,移交给这个方法一个HttpRequest请求对象和一个HttpResponse响应对象
3. 调用HttpRequest对象的方法获得Http请求的信息
4. 调用HttpResponse对象的方法生成Http响应的数据
5. Servlet容器把HttpServlet的响应结果传个Web客户