Servlet处理客户端请求过程

前言

由于Servlet没有main函数,运行在容器中,所以整个生命周期由容器控制。具体可以分为5个状态:

  1. 加载,容器通过类加载器来加载Servlet。
  2. 创建,通过Servlet构造方法创建Servlet对象。
  3. 初始化,调用Servlet的init()方法,进行初始化工作,注意,只初始化一次
  4. 处理客户端请求。容器在接到客户端请求时,都会创建一个新的线程,通过调用Servlet的service()方法来处理客户端请求,而service()会根据请求的不同,调用相应的doGet()或者doPost()方法。
  5. 卸载,容器在卸载Servlet之前需要调用destory()方法,让Servlet自己释放所占用的系统资源,如果在执行完destory()方法后,重新需要这个Servlet,那么必须重新加载创建初始化Servlet对象了,destroy()方法在一个生命周期也只调用一次

Servlet处理客户端请求过程

  1. 用户点击链接,客户端发送Servlet请求。
  2. 服务器接收到请求后交给相应的容器来进行处理,当容器发现是Servlet请求时,容器会创建两个对象:HttpServletResponse和HttpServletRequest。
  3. 容器通过请求消息中的URL找到相应的Servlet,创建一个新线程,将HttpServletResponse和HttpServletRequest两个对象以参数的形式传给新创建的线程。
  4. 容器调用Servlet的service()方法,service()方法会根据请求的不同调用相应的doPost()或者doGet()方法来完成具体的请求处理。
  5. 容器将响应消息按照HTTP组装好返回给客户端。同时这个线程运行结束,同时删除第二步中产生的两个对象。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值