init方法
当首次创建Servlet时就会调用init方法, 而不是每个用户请求都会调用该方法。
我们可以在init方法中完成类似于构造方法的初始化功能。
init方法一结束,servlet即可接受客户端请求;
init方法实例
覆盖init(ServletConfig conf)方法时,应该总是在首行调用super.init();或者直接覆盖init();
init方法接受ServletConfig作为参数, 用以下方法获得参数值:
getInitParameter: 返回指定参数名称对应的值,如果参数不存在,返回null;
getInitParameterNames: 返回所有初始化参数的名字 ;
service方法
每当服务器接收到对Servlet的请求时,服务器就会产生一个新线程, 并调用service。
service方法检查HTTP请求类型,并相应地调用doGet、doPost、doPut、doDelete。
被container调用去响应(ServletResponse)来自客户端的请求(ServletRequest);
destroy方法
服务器决定删除已经加载的Servlet实例之前将调用Servlet的destroy方法;
该方法允许Servlet:
关闭数据库连接;
中止后台线程;
将Cookie程序清单或访问计数写到磁盘以及执行其他类似的收尾工作。
在Servlet终止时处理Service线程
在destroy()方法中:如有服务(通过一个同步化的实例方法取得当前线程数大于0),则置关闭状态为false(通过一个同步化的实例方法实现)。然后循环等待服务线程数为0,则置关闭状态为true.
在Service()方法中: 如见关闭状态为true,便不执行具体逻辑方法,直接退出。
当首次创建Servlet时就会调用init方法, 而不是每个用户请求都会调用该方法。
我们可以在init方法中完成类似于构造方法的初始化功能。
init方法一结束,servlet即可接受客户端请求;
init方法实例
覆盖init(ServletConfig conf)方法时,应该总是在首行调用super.init();或者直接覆盖init();
init方法接受ServletConfig作为参数, 用以下方法获得参数值:
getInitParameter: 返回指定参数名称对应的值,如果参数不存在,返回null;
getInitParameterNames: 返回所有初始化参数的名字 ;
service方法
每当服务器接收到对Servlet的请求时,服务器就会产生一个新线程, 并调用service。
service方法检查HTTP请求类型,并相应地调用doGet、doPost、doPut、doDelete。
被container调用去响应(ServletResponse)来自客户端的请求(ServletRequest);
destroy方法
服务器决定删除已经加载的Servlet实例之前将调用Servlet的destroy方法;
该方法允许Servlet:
关闭数据库连接;
中止后台线程;
将Cookie程序清单或访问计数写到磁盘以及执行其他类似的收尾工作。
在Servlet终止时处理Service线程
在destroy()方法中:如有服务(通过一个同步化的实例方法取得当前线程数大于0),则置关闭状态为false(通过一个同步化的实例方法实现)。然后循环等待服务线程数为0,则置关闭状态为true.
在Service()方法中: 如见关闭状态为true,便不执行具体逻辑方法,直接退出。