• Servlet的生命周期


    最近被学妹问了这个问题,所以就记录一下,毕竟我也工作不久,算是对自己的平时一些问题的记录吧,下面这个图都是从其他网站上扒下来的,非常形象的形容了整个过程:

     servlet 三个作用:1、获取参数;2、根据请求作出重定向;3、完成部分业务的需求

    从用户输入url地址起始,就会通过上下文资源路径找到对应server.xml文件进行解析,java文件解析里面都是有配置的,就如同php如果要在游览器上显示也要做一番解析,从而调用servlet的构造器,进行初始化,以及service请求,关闭servlet会自动调用destroy方法!(以上就是我自己的一点看法)

    1. init()方法

          在Servlet的生命周期中,仅执行一次init()方法,它是在服务器装入Servlet时执行的,可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init();

    2. service()方法

          它是Servlet的核心,每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。

    3. destroy()方法

          仅执行一次,在服务器端停止且卸载Servlet时执行该方法,有点类似于C++的delete方法。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。

          

  • 相关阅读:
    用户模式同步之互斥体小解
    用户模式同步之信号量小解
    用户模式同步之事件小解
    中断和异常
    断点之软件断点的一些基本知识(INT3)
    部署Django项目Nginx + uwsgi
    CentOS切换root用户一直提示Incorrect password
    一张图看懂Mysql的join连接
    Nginx部署入门
    Django使用多个数据库
  • 原文地址:https://www.cnblogs.com/Dsir/p/12689123.html
Copyright © 2020-2023  润新知