• JavaEE复习二


     Servlet应用开发接口:

    javax.servlet.Servlet:

    • init()方法:调用在构造方法之后,在service方法之前;
    • service()方法:调用此方法允许Servlet响应请求,在Servlet成功初始化之前无法调用;
    • destroy()方法:当一个Servlet被从服务中去除时,Servlet会调用此方法。当这个对象service()方法所有的线程未全部退出或者被容器认为发生超时操作时,此方法不会调用
    • getServletConfig()方法:get 一个 ServletConfig,
    • getServletInfo()方法:允许Servlet向主机的Servlet运行提供有关信息

    Servlet生命周期:

    1. 客户端发送请求
    2. Servlet容器解析请求
    3. 创建Servlet实例
    4. 调用init方法
    5. 调用service方法
    6. 输出响应信息
    7. 返回响应
    8. 调用destory方法

    第一次访问Servlet时:

      会调用servlet的构造方法,调用init()在一个Servlet的生命周期中只执行一次

    在服务器启动加载网站是:

      会调用service方法

    具体什么时候加载需要通过web.xml配置文件中对应servlet设置项<load-on-startup>节点进行设置:

    1 load-on-startup标记容器是否在启动的时候实例化并调用其init()方法的优先级。
    2 它的值表示servlet应该被载入的顺序
    3 当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
    4 如果值小于0或未指定时,则表示只有在第一次请求的容器才在该servlet调用初始化函数
    5 正值越小,servlet的优先级越高,应用启动时就越先加载。
    6 值相同时,容器就会自己选择顺序来加载。
    load-on-startup

    Servlet在什么时候被销毁:

      服务器关闭;更新、停止web模块的时候;由Servlet容器根据情况(destory方法)

     destory()方法:

      在Servlet实例被销毁之前调用,在一个Servlet的生命周期中只执行一次

    Servlet生命周期可以分为四个阶段(总结):

    1.   加载和实例化:调用构造方法,由servlet容器完成
    2.   初始化:调用init方法
    3.       处理客户请求:service方法(doGet、doPost)
    4.       销毁:销毁之前调用destroy方法

    ServletConfig包含web程序部署描述符中定义的参数,servletConfig是由Servlet容器实例化

    每个Web应用启动后,Servlet容器都会创建唯一的一个ServletContext对象,该对象包含整个web程序的信息

    Servlet是多线程应用

    一个入行不久的Java开发,越学习越感觉知识太多,自身了解太少,只能不断追寻
  • 相关阅读:
    Mybatis中的设计模式
    Mybatis的#{}和${}的区别是什么?
    ES的写入速度优化
    康师傅JVM:垃圾回收相关概念(十六)
    i++为什么不是原子操作?
    Zookeeper的watch机制
    LeetCode 1.两数之和
    ESP 8266 引脚图
    Arduino 将 String 转化为 int
    微擎修改 icon.jpg 后项目主页未变
  • 原文地址:https://www.cnblogs.com/fengtingxin/p/6005718.html
Copyright © 2020-2023  润新知