zoukankan      html  css  js  c++  java
  • Servlet简介及其生命周期详解

    一、什么是Servlet?

    Servlet:是用Java编写的服务器端程序,一门用于开发动态web资源的技术。其主要功能在与交互式的浏览和修改数据,生成动态web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet的类。一般对Servlet的理解是后者。
    若想开发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:
      1、编写一个Java类,实现servlet接口。
      2、把开发好的Java类部署到web服务器中。
    按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet

    二、Servlet的运行流程

    Servlet程序是由WEB服务器调用,WEB服务器收到客户端的Servlet访问请求后:

    1. Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第4步,否则,执行第2步
    2. 装载并创建该Servlet的一个实例对象
    3. 调用Servlet实例对象的init()方法
    4. 创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去
    5. WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法

    在这里插入图片描述

    三、Servlet的生命周期

    Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接口中的init()service()destroy()方法来表示
    Servlet的生命周期包含了下面4个阶段:

    1. 加载和实例化:第一次请求时创建,通过服务器反射机制创建Servlet对象
    2. 初始化:调用Servlet对象的init()方法,初始化Servlet的信息,init()方法只会在创建后被调用一次
    3. 请求处理:调用service()或者是doGet()doPost()方法来处理请求
    4. 服务终止:在长时间没有被调用或者是服务器关闭时,会调用destroy()方法来销毁Servlet对象

    在整个Servlet的生命周期过程中,创建Servlet实例、调用实例的init()destroy()方法都只执行一次,当初始化完成后,Servlet容器会将该实例保存在内存中,通过调用它的service()方法,为接收到的请求服务

  • 相关阅读:
    4G(LTE)背后的技术和利益纠结——VoIP,VoLTE,SIP,IMS的前世今生
    Windows抓取本地回环数据包
    SIP中的早期媒体与回铃音的产生
    SpringMVC整合
    浮点数转换为十进制
    将Sublime Text 2搭建成一个好用的IDE
    python3 'gbk' codec can't decode byte 0x80 in position 读取文件编码集错误的一个bug
    Matplotlib入门教程
    turtle教程-Python绘图
    python画图模块之一:turtle(1) 画五角星、正方形等
  • 原文地址:https://www.cnblogs.com/tian-ci/p/10543125.html
Copyright © 2011-2022 走看看