Servlet调用过程
servlet生命周期
Servlet的生命周期很简单:只有一个主要状态—–初始化。如果servlet没有初始化,则要么正在初始化(运行构造函数或init()方法),正在销毁(运行destroy())方法,要么是不存在。
需要注意的是 servlet的整个生命周期中只初始化一次
servlet的请求调用过程
- 用户点击一个链接,链接的URL指向一个servlet
- 容器“看出”这个请求指向某个Servlet,所以容器创建两个对象
HttpServletRequest
HttpServletResponse - 容器根据请求中的URl找到正确的servlet,为这个请求创建或分配一个线程,并调用servlet的service()方法,把请求和响应对象作为参数传递给它
- service()方法根据客户发出的HttP方法(GET、POST),确定要调用那个servlet方法。
客户端发出了一个HTTP get请求,所以service()方法会调用servle的doGetI()方法,把请求和相应对象作为参数传给它
- servlet使用相应对象将相应写个客户,响应通过容器传回。
- service()方法结束,所以线程要么撤销,要么返回到容器管理的线程池。请求和响应对象引用超出作用域,可以进行垃圾回收
客户得到响应。