• Servlet的生命周期


    当一个类实现Servlet,要重写五个方法:

    init(ServletConfig servletConfig):初始化方法,在servlet创建时,执行一次
    getServletConfig():获取servlet的servletConfig对象:servlet的配置对象
    service(ServletRequest request, ServletResponse response):提供服务方法,每一次servlet访问时执行
    getServletInfo():获取servlet的一些信息:版本,作者等等,一般不用
    destroy():销毁方法,在服务器正常关闭时执行

    * Servlet中的生命周期方法:
    1. 被创建:执行init方法,只执行一次。一个Servlet实现类执行一次init
      * Servlet什么时候被创建?
        * 默认情况下,第一次被访问时,Servlet被创建
        * 可以配置执行Servlet的创建时机。
          * 在<servlet>标签下配置
            1. 第一次被访问时,创建
              * <load-on-startup>的值为负数
            2. 在服务器启动时,创建
              * <load-on-startup>的值为0或正整数
      * Servlet的init方法,只执行一次,说明一个Servlet在内存中只存在一个对象,Servlet是单例的
      * 多个用户同时访问时,可能存在线程安全问题。
      * 解决:尽量不要在Servlet中定义成员变量。即使定义了成员变量,也不要对修改值
    2. 提供服务:执行service方法,执行多次
      * 每次访问Servlet时,Service方法都会被调用一次。
    3. 被销毁:执行destroy方法,只执行一次
      * Servlet被销毁时执行。服务器关闭时,Servlet被销毁
      * 只有服务器正常关闭时,才会执行destroy方法。
      * destroy方法在Servlet被销毁之前执行,一般用于释放资源

  • 相关阅读:
    Socket基本介绍和实际应用
    自定义流水布局(UICollectionViewFlowLayout的基本使用)
    UIMenuController 简单示例 (Swift)
    继续坚持
    获取手机信息(UIDevice、NSBundle、NSLocale)
    iOS 远程推送 根据后台推送内容的不同跳转指定页面
    定制多样式二维码
    二维码扫描和应用跳转
    iOS开发网络篇—Socket编程
    iOS开发中常用英语单词和句子整理(持续更新)
  • 原文地址:https://www.cnblogs.com/elian91/p/15304719.html
Copyright © 2020-2023  润新知