zoukankan      html  css  js  c++  java
  • servlet的生命周期

    servlet的生命周期,就是从创建到销毁的过程

    生命周期的相关方法

    • init()
    1. 在创建该servlet实例时,调用该方法;
    2. 一个servlet只会初始化一次,init方法也只会执行一次;
    3. 默认是首次访问servlet时创建servlet实例,调用init方法
    • service()
    1. 只要客户端发送请求,就需要执行该方法处理;
    2. 该方法可以被执行多次,一个请求对应一个service方法的处理执行
    • destroy()
    1. servlet销毁的时候调用该方法,servlet容器控制servlet实例的销毁
    2. 项目从tomcat中移除
    3. tomcat正常结束,shutdown.bat
    • 注:doGet 和 doPost不算生命周期方法,所谓的生命周期方法是指,从对象的创建到销毁一定会执行的方法, 但是这两个方法,不一定会执行。

     

    默认情况下,只有在初次访问servlet的时候,才会执行init方法。 有的时候,我们可能需要在这个方法里面执行一些初始化工作,甚至是做一些比较耗时的逻辑。

    那么这个时候,初次访问,可能会在init方法中逗留太久的时间。 那么有没有方法可以让这个初始化的时机提前一点。

    在配置的时候, 使用load-on-startup元素来指定, 给定的数字越小,启动的时机就越早。 一般不写负数, 从2开始即可。

    <servlet>
    	  <servlet-name>HelloServlet</servlet-name>
    	  <servlet-class>com.qf.servlet.HelloServlet</servlet-class>
    	  <load-on-startup>2</load-on-startup>
    </servlet>
    
  • 相关阅读:
    难以实践敏捷:估算
    使用AsyncEnumerator简化异步操作
    ESXi 入门配置
    学习模式,不如先了解问题
    我应该用哪种虚拟机?(一)
    在2003上实现Custom Task Pane
    我应该用哪种虚拟机?(终)
    我应该用哪种虚拟机?(二)
    正则表达式周二挑战赛 第十二周
    [译]Node中的ES6特性
  • 原文地址:https://www.cnblogs.com/qf123/p/10042589.html
Copyright © 2011-2022 走看看