面试漫谈(十七)- Servlet篇

Posted by YiBo on January 4, 2021

Ref:

https://www.jianshu.com/p/7dcd2c689729

前记

经过俩周,快三周的紧张面试,最终确定了几家,但都不是很满意,加班,项目等因素让我徘徊。这篇叫 servlet 篇,是因为不是知道servlet是什么,也就不知道把他放那里

什么是servlet

Servlet作用是为java程序提供一个统一的web应用的规范,方便程序员统一的使用这些规范来编写程序,应用容器可以使用提供的规范来实现自己的特性。比如Tomcat的代码和jetty的代码不提供,但只要了解servlet规范就可以从request中取值,可以操作session等等。不用在意应用服务器底层实现的差别而影响开发

Servlet生命周期

  1. init()

    在Servlet生命周期中,仅执行一次init方法,他是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet,无论有多少客户弃访问Servlet,都不会重复执行init

  2. service()

    核心,负责相应客户的请求。每当一个客户请求一个httpServilet对象,该对象的service方法就要调用,而且传递给这个方法一个请求对象,和一个相应对象作为参数

  3. destroy()

    仅执行一次,在服务端停止且卸载servlet时,执行该方法