servlet的生命周期
servlet的生命周期如下:
1,servlet的加载和实例化。servlet容器负责加载和实例化,当客户端发送一个请求时,servlet容器会查找内存中是否有servlet实例。如果不存在,则创建一个servlet实例,如果存在servlet实例,就直接从内存中取出该实例来响应请求。
2,初始化。servlet容器加载好servlet后,必须进行servlet的初始化,在初始化中可以设置数据库连接参数,建立jdbc连接,或者是建立其他资源的引用。在初始化时,调用init()方法。这个方法在javax.servlet.Servlet接口中定义。
3,服务。servlet被初始化以后,就处于能响应的就绪状态。每个对servlet的请求都有一个servlet request对象来代表。servlet给客户端的响应由一个servlet response对象代表。当客服端有一个请求时,servlet容器将servlet request和servlet response对象转发给servlet。这两个对象以参数的形式传给service()方法。在service()方法内,对客服端进行判断是doget()方法还是dopost方法提交。
4,销毁。servlet实例是servlet容器创建的,所以销毁也应该是servlet容器。servlet容器判断一个servlet应当被销毁时(容器关闭或者是需要回收资源),容器必须释放其正在使用的资源。这些可以由容器调用servlet里面的destroy()进行直接回收