之前有学过Servlet,对于Servlet的基本原理也大致有一些了解,最近回头又看了关于Servlet的视频,总结了两点Servlet的小知识,也是Servlet中比较常见的知识,在这里做一个记录。
一、Servlet的生命周期
Servlet是在服务器上运行的的小程序,我们自己编写的Servlet类都是继承自HttpServlet类的,所以也复写了HttpServlet的主要方法:init()、doGet()、doPost()、destory()。当用户向服务器请求一个Servlet时,它的生命周期就开始了,首先服务器检查请求的Servlet实例是否已经存在,如果存在则直接根据请求的类型执行相应的service方法;如果请求的Servlet实例不存在,则服务器装载相应的Servlet类并创建Servlet实例,创建了Servlet实例后服务器会执行init()方法对Servlet进行初始化操作,在这里init()方法只有在创建Servlet实例后执行一次。创建了Servlet实例之后,服务器会根据请求的类型即get类型还是post类型调用相应的service方法处理请求,请求完成后通过response返回给用户,这时已经创建的Servlet实例会驻留在服务器内存中等待下一次请求。当服务器关闭时,服务器会执行Servlet的destory()方法对Servlet进行销毁。Servlet的生命周期可以参考下图(图片转自慕课网)