Servlet的生命周期和工作原理

@作者博客

Servlet生命周期和工作原理

分为三个阶段

  • 初始化阶段 调用init()方法

  • 响应客户请求阶段  调用service()方法

  • 终止阶段  调用destroy()方法 (抵死囧应)

  • *记住这一点 : Servlet 加载—>实例化—>服务—>销毁。

初始化阶段 init()

  • 在Servlet的生命周期中,仅执行一次init()方法
    • 它是在服务器载入Servlet时执行的,负责初始化Servlet对象

核心: service()

  • 它是Servlet的核心,负责响应客户的请求,每当一个客户请求一个HTTPServlet对象的时候,该对象就会调用Service()方法.而且传递给这个方法一个请求(ServletRequset)对象和一个响应(ServletResponse)对象作为初始.默认是调用Http请求响应Do功能

  • 默认情况下,当客户第一次请求访问Servlet时,WEB容器就会创建Servlet的实例

  • 当web.xml文件中如果元素中指定了子元素时,Servlet容器在启动web服务器时,将按照顺序创建并初始化Servlet对象。

Destory()

  • 仅执行一次,在服务器停止的时候.
  • 当Servlet对象退出生命周期时,负责释放占用的资源.
  • 当WEB应用被终止,或Servlet容器终止运行,或Servlet容器重新装载Servlet新实例时,Servlet容器会先调用Servlet的destroy()方法,在destroy()方法中可以释放掉Servlet所占用的资源。

通俗一点说 工作原理

    首先客户发送一个请求,Servlet是调用service()方法对请求进行响应
    service()方法中对请求的方式进行了匹配,选择调用 doGet,doPost等方法,然后再进入对应的方法,调用逻辑层的方法,实现对客户端的响应.

扩展

    Servlet与JSP的比较:
      都可以生成动态网页。
      JSP的优点是擅长于网页制作,生成动态页面比较直观,缺点是不容易跟踪与排错。
      Servlet是Java语言,擅长于处理流程和业务逻辑,缺点是生成动态网页不直观。

思维导图如下:

@作者博客

© 著作权归作者所有 转载请保留原链接地址

猜你喜欢

转载自blog.csdn.net/qq_36595006/article/details/78767043