Servlet学习教程(二)----Servlet容器处理请求过程图解

  上篇文章大致介绍的请求的流转,本文主要是详细介绍一下容器处理请求的过程。

   第一步,用户点击一个链接指向一个servlet,而不是静态页面。

Servlet学习教程(二)----Servlet容器处理请求过程图解

  第二步,容器可以分辨出请求指向servlet,所以容器会产生两个对象:

       1.HttpServletRequest

       2.HttpServletResponse

Servlet学习教程(二)----Servlet容器处理请求过程图解

   第三步,容器对请求的URL根据配置找到对应的servlet,为这个请求创建或者分配一个线程,并将请求和响应对象传递给这个Servlet线程。

Servlet学习教程(二)----Servlet容器处理请求过程图解

   第四步,容器会调用Servlet的service方法,根据请求的不同类型,service()方法会调用servlet的doPost()或者doGet()方法,对应页面form表单是post还是get数据。

Servlet学习教程(二)----Servlet容器处理请求过程图解

  第五步,doGet()或者doPost()生成的动态页面塞进响应中(容器持有响应对象的引用)

Servlet学习教程(二)----Servlet容器处理请求过程图解

  第六步,线程结束,容器把响应转换为HTTP响应给客户,然后删除请求与响应对象。

Servlet学习教程(二)----Servlet容器处理请求过程图解