• JavaEE Servlet 核心方法及生命周期


    做JavaWeb开发,免不了要和Servlet打交道。Servlet是Sun(Oracle)官方定义的一个Web开发规范,所有Servlet开发都必须遵守。自己以前也没有从头做过Web开发,所以这方面的知识也相对欠缺。所以,借此机会学习一下。但是,却不知道该如何着手。直到,在 尚硅谷 看到JavaWeb的学习视频。于是,下载之并进行学习。
    顺便帮忙打个广告,尚硅谷 的教程确实很不错,值得学习。在此,给个 尚硅谷 的链接:http://www.atguigu.com/

    本文的内容,建立在对JavaWeb学习的基础上。
    首先给出“Servlet 核心方法及生命周期”的结论,如下:
    1。调用构造函数
    只会被调用一次,说明是单例的。
    2。调用 init() 方法
    也只会被调用一次,当容器初始化时被调用。
    3。调用 service() 方法
    调用无限次,每个请求到来时都调用一次。
    4。调用 destroy() 方法
    只会被调用一次,当容器被销毁时被调用。

    结合一个真实的例子进行调试说明:
    Demo代码地址: https://github.com/cyhbyw/JavaWEB_atguigu_TongGang
    Demo代码工程: cyhDebugSource_Servlet

    01。调用HelloServlet的构造器。注意堆栈信息,这是被Tomcat容器所调用的。
    注意:此时容器还正在启动过程中!因为在web.xml文件中配置了 load-on-startup = 1 所以才会在容器启动时就加载Servlet!
    load-on-startup 的作用是:如果是负数,表示不会在容器启动时加载,而是等到第一次请求到来时才加载;如果是正数,表示在容器启动时就加载,且数值越小越先被加载。


    02。调用init() 方法。
    注意:同上,是由 load-on-startup = 1 决定的行为!

    03。查看控制台信息,证实1,2步的方法被调用。

    04。请求到来时,调用 service() 方法。

    05。查看控制台信息,证实 service() 方法会被调用多次,其实是每个请求调用一次。

    06。结束调试,可以看到控制台打印出了 destroy() 方法中的信息。

    ====================================================

    后续内容:Servlet 的通用实现类 GenericServlet

    ====================================================

  • 相关阅读:
    苹果远程推送测试
    iOS 模糊化效果 ANBlurredImageView的使用
    VS2015中正确添加GIF的方式
    十大经典排序算法
    Windows Error Code(windows错误代码详解)
    C++捕获系统异常(VS2015设置)
    Qt5 error LNK2019 无法解析的外部符号的解决办法
    Linux常用命令大全(非常全!!!)
    利用MFC Picture Control控件 加载bmp,png
    在C++中如何实现文件的读写
  • 原文地址:https://www.cnblogs.com/cyhbyw/p/8682078.html
Copyright © 2020-2023  润新知