每一个servlet作为Web应用程序的一个组件不部署到容器中。当他被客户访问时,容器控制着他的实行,其执行过程如下
容器执行servlet的过程
1,用户通过单击超链接或提交表单向容器请求访问Servlet。容器分析这个请求,如果该请求指向一个servlet,容器创建两个对象,一个是HttpServletRequest请求对象,一个是HttpServletResponse响应对象
2,容器根据请求中的URL找到正确的Servlet,为这个请求创建一个线程对象。有多少个请求,容器将创建多少个线程。
3,容器调用Servlet的service()方法,把请求和响应对象作为参数传递给该方法。
4,service()方法根据客户发出请求的HTTP方法(GET,POST等)决定调用Servlet的doGet()方法或者doPost()方法。
5,Servlet使用响应对象(response)获得输出流对象,调用有关方法将响应写给客户,响应通过容器发送给浏览器。之后,线程将被摧毁或者返回到容器管理的一个线程池。请求和响应对象已经出了作用域,或将被销毁。最后客户得到响应。