2.3 容器如何处理请求

容器如何处理请求

  • 当用户点击一个链接,这个链接的URL指向一个 servlet而不是静态页面时。
  • 容器可以看出来这个请求要的是一个servlet,所以容器仓建两个对象:
    • 一个是HttpServletResponse
    • 另一个是HttpServletRequest
  • 然后容器根据请求中的URL找到正确的 servlet,为这个请求创建或分配一个线程,并把请求和响应对象传递给这个servlet线程。
  • 接着容器调用 servlet的 service()方法。根据请求的不同类型, service()方法会调用doGet()或 doPost()方法。对于这个示例,假设请求是一个 HTTP GET请求,则调用的是doGet()方法。
  • 然后doGet()方法生成动态页面并把这个页面“填入”响应对象。要记住,容器还有响应对象的一个引用!
  • 最后线程结束,容器把响应对象转换为一个HTTP响应,把它发回给客户,然后删除请求和响应对象。