Servlet的生命周期与HTTP协议

本文详细阐述了Servlet的生命周期,包括init(), service(), destroy()三个关键方法,并指出Servlet在Tomcat中的单例和线程不安全特性。同时,讲解了HTTP协议的基础知识,如无状态特性、请求和响应的组成部分,以及各种请求方式下请求体的不同形式。通过对Servlet生命周期的定制,可以更好地理解和管理Servlet的行为。
摘要由CSDN通过智能技术生成

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("正在销毁");
    }

当启动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页面时。响应的内容就是…)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值