• Servlet的生命周期与HTTP协议


    Servlet的生命周期

    1.从出生到死亡的过程就是生命周期对应servlet中的三个方法init(),service(),destory()
    2.默认情况下 第一次接收请求时,这个Servlet会进行实例化、初始化然后服务
    从第二次请求开始,每一次都是服务,当容器关闭时,其中所有servlet实例都会被销毁
    3.servlet实例tomcat只会创建一个所有请求都是按这个去响应
    默认情况下第一次请求时,tomcat才会去实例化初始化
    4.servlet在容器中是:单例的,线程不安全的
    单例:所有的请求都是同一个实例去响应
    线程不安全:一个线程需要根据这个实例中的某个成员变量的值去做逻辑判断,但在中间某个时机,另一个分线程改变了这个成员变量的值

    我们可以重写这三个方法 更直观的看到生命周期

    public void init() throws ServletException{
            System.out.println("正在初始化");
        }
    
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            System.out.println("正在服务");
        }
    
        @Override
        public void destroy() {
            System.out.println("正在销毁");
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    当启动tomcat服务器时
    在这里插入图片描述
    当servlet接受多次请求时
    在这里插入图片描述
    当停止tomcat时
    在这里插入图片描述

    HTTP协议

    1.http称之为 超文本传输协议
    2.http是无状态的
    3.http请求响应包含两个部分:请求和响应
    请求包含三个部分:1.请求行;2.请求消息头;3.请求主体
    1请求行包含三个信息1.请求的方式;2.请求的url;3.请求的协议(一般都是HTTP1.1)
    2请求消息头中包含很多客户端需要告诉服务器的信息,比如我的浏览器型号、版本、服务器型号
    3.请求体,三种情况
    get方式,没有请求体但是有一个queryString
    post方式,有请求体,form data
    json格式,有请求体,request payload
    -响应
    响应也包含三本:1.响应行;响应头;响应体
    1.响应行包含三个信息1.协议2.响应状态码3.响应状态
    2。响应头 包含了服务器的信息;服务器发送给浏览器的信息(内容的媒体类型、编码、内容长度)
    3.响应体:响应的实际内容(比如请求hello,htm页面时。响应的内容就是…)

  • 相关阅读:
    2024Python二级
    Python知识点:使用Transformers进行预训练语言模型应用
    vite(setup语法糖)+ts+vant+axios入门教程
    JAVA向上转型和向下转型
    Fast Planner 轨迹规划
    算法金 | 一文彻底理解机器学习 ROC-AUC 指标
    聊聊ChatGLM-6B部署与微调的深入理解
    PEG修饰黑磷量子点/哌唑嗪-量子点表面修饰PEGP/ZnS/CdSe表面修饰PEG相关研究
    图论例题解析
    uni跳转页面不缓存上一个页面的方法
  • 原文地址:https://blog.csdn.net/qq_52896055/article/details/126773280