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

    Servlet生命周期可被定义为创建到毁灭的整个过程。以下是遵循的过程:

    • Servlet通过init()方法进行初始化
    • Servlet通过service()方法来处理客户端的请求
    • Servlet通过调用destroy()方法终止(结束)
    • 最后,Servlet是由JVM的垃圾回收器进行垃圾回收的

    init()

    init()方法被设计成只调用一次。在第一次创建Servlet时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化

    service()

    service方法是执行实际任务的主要方法。servlet容器(即web服务器)调用service方法来处理来自客户端(浏览器的请求),并把格式化的响应写回给客户端。

    每次服务器接收到一个Servlet请求时,服务器会产生一个新的线程并调用服务。service()方法检查HTTP请求类型(get,post,put,delete等),并在适当的时候调用doGet,doPost,doPut,doDelete等方法

    service()方法由容器调用,service方法在适当的时候调用doGet,doPost,doPut,doDelete等方法。所以,不用对service方法做任何动作,只需要根据来自客户端的请求类型来重写doGet()或doPost()即可。

    doGet()和doPost()方法是每次服务请求中最常用的方法

    doGet()

    GET请求来自于一个URL的正常请求,或来自于一个未指定method的html表单,它由doGet()方法处理

    doPost()

    post请求来自于一个特别指定了method为post的html表单,它由doPOst()方法处理。

    destroy()

    destroy()方法只会被调用一次,在Servlet生命周期结束时被调用。destroy方法可以让你的servlet关闭数据库连接、停止后台线程、把Cookie列表或点击计数器写入到磁盘,并执行其他类似的清理活动。

    在调用destroy()方法之后,servlet对象被标记为垃圾回收。

    Servlet生命周期

    • 第一个到达服务器的HTTP请求被委派到Servlet容器
    • servlet容器在调用service()方法之前加载Servlet
    • 然后servlet容器处理由多个线程产生的多个请求,每个线程执行一个单一的Servlet实例的service()方法
  • 相关阅读:
    有关macOS隐藏文件的问题
    AcWing 2548. 大胖子走迷宫(BFS)
    AcWing 1224. 交换瓶子(交换最少次数使得数列有序)
    AcWing 1220. 生命之树(树形DP)
    AcWing 1215. 小朋友排队(树状数组)
    AcWing 1214. 波动数列(推柿子+DP)
    Python文件操作
    远程升级程序过程
    找某个Linux内核可能调用的文件
    linux platform简易的理解
  • 原文地址:https://www.cnblogs.com/xslzwm/p/9561581.html
Copyright © 2011-2022 走看看