做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() 方法中的信息。

JavaEE Servlet 核心方法及生命周期的更多相关文章

  1. JavaWeb之 Servlet执行过程 与 生命周期

    Servlet的概念 什么是Servlet呢? Java中有一个叫Servlet的接口,如果一个普通的类实现了这个接口,这个类就是一个Servlet.Servlet下有一个实现类叫HttpServle ...

  2. [转]JavaWeb之 Servlet执行过程 与 生命周期

    https://www.cnblogs.com/vmax-tam/p/4122105.html Servlet的概念 什么是Servlet呢? Java中有一个叫Servlet的接口,如果一个普通的类 ...

  3. HTTP协议 Servlet入门 Servlet工作原理和生命周期 Servlet细节 ServletConfig对象

    1 HTTP协议特点   1)客户端->服务端(请求request)有三部份     a)请求行--请求行用于描述客户端的请求方式.请求的资源名称,以及使用的HTTP协议版本号 请求行中的GET ...

  4. 【servlet】Servlet的API和生命周期]

    创建时间:6.15 一.Servlet的API(生命周期) (1)Servlet接口中的方法 1)init(ServletConfig config) 何时执行:servlet对象创建的时候执行 Se ...

  5. servlet的session的生命周期

    谈到javaweb首先想到的就是servlet,说道servlet就会想到servlet的生命周期 说道servlet的生命周期 就绕不过servlet的三个方法init service destro ...

  6. JavaEE基础(01):Servlet实现方式,生命周期执行过程

    本文源码:GitHub·点这里 || GitEE·点这里 一.Servlet简介 Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容.使用S ...

  7. JavaEE基础(01):Servlet实现方式,生命周期执行...

    一.Servlet简介Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容.使用Servlet,可以收集来自网页表单的用户输入,呈现来自数据库 ...

  8. [03] Servlet继承关系和生命周期

    1.Servlet的继承关系 假如现有我们自定义的一个Servlet,继承HttpServlet,那么实际上它的继承链如下图:   可以看到,核心的部分在于: 两个顶级接口 Servlet Servl ...

  9. Servlet运行原理以及生命周期

    一.Servlet生命周期: Servlet加载.实例化.初始化.服务.销毁. 1.初始化init(): 当服务启动时,Servlet被装入tomcat或者其他服务器容器时执行(服务器容器从启动到停止 ...

随机推荐

  1. Linux显示登录Shell信息

    Linux显示登录Shell信息 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ finger -p Login Name Tty Idle Login Tim ...

  2. pat1011-1020

    一开始几道题写到吐血,真的自己现在好弱 1011 水题不说了 #include<bits/stdc++.h> using namespace std; const int N = 105; ...

  3. jquery回调函数的一个案例

    1.引言 今天在学习<jQuery基础教程>在学习编写插件的时候,书中说利用回调函数来当参数,会极大的提高程序的灵活性.对回调函数很陌生.研究了一下给的示例程序.感觉对回调函数有了基本的了 ...

  4. RobotFramework自动化测试框架的基础关键字(二)

    1.1.1        如何快速查询某一个关键字的API说明 鼠标选中我们关键字,同时按住Ctrl+Alt键,即可出来该关键字的帮助API以及使用示例 1.1.2        如何快速补全关键字 ...

  5. [BZOJ4372]烁烁的游戏

    题面戳我 题意: 给一颗n个节点的树,边权均为1,初始点权均为0,m次操作: Q x:询问x的点权. M x d w:将树上与节点x距离不超过d的节点的点权均加上w. \(1≤n≤10^5\) sol ...

  6. LightOJ1336 Sigma Function

    题意 求和运算是一种有趣的操作,它来源于古希腊字母σ,现在我们来求一个数字的所有因子之和.例如σ(24)=1+2+3+4+6+8+12+24=60.对于小的数字求和是非常的简单,但是对于大数字求和就比 ...

  7. Nginx负载均衡——基础功能

    熟悉Nginx的小伙伴都知道,Nginx是一个非常好的负载均衡器.除了用的非常普遍的Http负载均衡,Nginx还可以实现Email,FastCGI的负载均衡,甚至可以支持基于Tcp/UDP协议的各种 ...

  8. 【Android】[Problem]-"Waiting for target device to come online".

    环境: win10专业版(创意者),Android studio 2.3.1 问题描述: 安装玩Android studio之后创建一个项目,建立AVD之后,运行程序时一直不能启动AVD,具体描述为: ...

  9. Java 计算年龄

    public static String getAgeTxt(String birthTime,String beginTime,int level){ if(StringUtils.isBlank( ...

  10. 用Canvas生成随机验证码(后端前端都可以)

    一 .使用前端生成验证码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...