servlet的生命周期中哪些方法只调用一次
servlet的初始化和销毁在servlet的整个生命周期中只发生一次。因此,init()和destroy()方法在servlet的生命周期中只调用一次。
其中init()方法在首次创建servlet时调用,在处理每个用户的请求时不再调用。因此,init()方法主要用于一次性初始化操作。
例如:创建或加载一些将在servlet生命周期中使用的数据(如果有的话),或者执行一些一次性计算(如果必要的话)。同样在服务器删除或破坏servlet的实例,调用servlet的销毁方法。
所以servlet有机版本将关闭数据库连接(如果需要)停止线程后台正在运行的权利(如果需要的话),或执行其他清理。
扩展资料:
其他方法:
1.服务()方法
service()方法是Servlet的核心。每次客户端请求一个HttpServlet对象时,将调用该对象的service()方法,并将一个“ServletRequest”对象和一个“ServletResponse”对象作为参数传递给该方法。
service()方法已经存在于HttpServlet中。默认的服务函数是调用与HTTP请求方法对应的do函数。
2.DoGet()方法
当客户端通过HTML表单发出HTTPGET请求或直接请求URL时,就会调用doGet()方法。与GET请求相关的参数被添加到URL的末尾,并与请求一起发送。当不修改服务器端的数据时,应该使用doGet()方法。
3.DoPost()方法
当客户通过HTML表单发出HTTPPOST请求时,将调用doPost()方法。与POST请求相关的参数作为单独的HTTP请求从浏览器发送到服务器。当需要修改服务器端数据时,应该使用doPost()方法。
destroy()方,这个方法在servlet的容器销毁的时候调用。
这个两个方法在servlet生命周期中只调用一次。
即 初始化 和 销毁 只执行一次!
其中init()方法在servlet初次创建时被调用,之后处理每个用户的请求时,则不再调用这个方法。因此,init()方法主要用于一次性的初始化操作。比如创建或载入在servlet生命周期中要用到的一些数据(如果有的话),或者执行某些一次性的计算(如果需要的话)等。
同样,在服务器移除或销毁servlet的实例之前,会调用servlet的destroy方法,从而使得servlet有机会关闭数据库连接(如果需要的话),停止后台运行的线程(如果需要的话)或者执行一些其它的清理操作(如果需要的话)等。
初始化 销毁 只调用一次