您好,登录后才能下订单哦!
小编给大家分享一下servlet生命周期的详细分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
Servlet生命周期表示Servlet从产生到毁灭的过程,一共分为四个阶段分别是:初始化阶段,响应客户请求阶段,终止阶段以及垃圾回收阶段
Servlet生命周期就是指Servlet从产生到毁灭的整个过程。
Servlet生命周期
Servlet程序时运行在服务器端的java程序,生命周期收到web容器的控制。在Servlet产生到消亡的过程中一共分为以下四个阶段:
(1)构造方法:该方法只在创建servlet对象时调用并且只调用1次。目的在于证明servlet对象在tomcat服务器中是单实例的
(2)init方法:在初始化阶段使用,即在创建完servlet对象后就调用,且只调用1次。
(3)service方法:在响应客户请求阶段使用,即每次请求servlet时调用,调用n次。
(4)destroy方法:终止阶段调用,即在servlet对象销毁时调用。只调用1次。tomcat服务器停止或web应用重新部署时调用
初始化阶段
init方法是在Servlet实例化之后调用init()方法,在整个servlet生命周期中,init()方法只执行一次。初始化阶段包括建立数据库连接,读取源文件信息等,如果初始化阶段失败,则Servlet将被直接卸载(注意,不是直接销毁,而是直接卸载)。
响应客户请求阶段
当有请求提交时,servlet调用service()方法进行处理。service() 方法是 Servlet 的核心,该方法可以多次调用,每次都是创建一个线程进行调用。对于service方法,一般不需要重写,因为在HttpServlet中实现,它会根据请求的方式,调用doGet/doPost也就是说service是用来转向的,所以我们一般写一个servlet,只需要重写doGet或者doPost就可以了。
终止阶段
当WEB容器关闭或检测到一个Servlet要从容器中被删除时,会自动调用destory()方法,释放实例所占用的资源。注意destory()方法只能调用一次。通常情况下Servlet容器停止,重新启动都会引起销毁Servlet对象的动作,重新部署项目也会引起Servlet对象的销毁同时会调用destroy方法。
垃圾回收
在销毁后,该实例将等待被垃圾收集器回收,如在被回收前再次使用此servlet,会重新用init()方法初始化
以上是servlet生命周期的详细分析的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。