一个例子
以下是一个典型的事件序列:
- 客户端(如 web 浏览器)要访问 Web 服务器,并发送一个 HTTP 请求;
- Web 服务器接收到请求并且交给 servlet 容器处理,servlet 容器可以运行在与宿主 Web 服务器同一个进程中,也可以是同一主机的不同进程,或者位于不同的主机的 Web 服务器中,对请求进行处理。
- servlet 容器根据 servlet 配置选择相应的 servlet,并调用代表请求和响应的对象。
- servlet 通过请求对象得到远程用户,HTTP POST 参数和其他有关数据可能作为请求的一部分随请求一起发送过来。Servlet 执行我们编写的任意的逻辑,然后动态产生响应内容发送回客户端。发送数据到客户端是通过响应对象完成的。
- 一旦 servlet 完成请求的处理,servlet 容器必须确保响应正确的输出,并且将控制权还给宿主 Web 服务器。