做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. JSP自定义标签配置

    JSP自定义标签配置 JSP自定义标签 <taglib>         <taglib-uri>/WEB-INF/you.tld</taglib-uri>     ...

  2. VS2005、vs2008+WinXPDDK+DDKWizard配置驱动开发环境

    所需软件下载地址如下(均为有效资源链接,速度都比较可以): vs2005:    http://221.224.22.210/downloadsawyer/VS.Net2005简体中文版.rar wi ...

  3. javaWeb学习之页面js树

    常用方法add(parameters):添加节点信息 Index Name Type Discription 1 id Number 当前节点的ID 2 preId Number 当前节点的父节点ID ...

  4. 2016弱校联盟十一专场10.3 We don't wanna work!

    能把 not working now 写成 not working hard now 还查一晚上也是没谁了 我的做法是维护两个set 分别是前20% 和后80% #include<iostrea ...

  5. ASP.NET Core MVC中构建Web API

    在ASP.NET CORE MVC中,Web API是其中一个功能子集,可以直接使用MVC的特性及路由等功能. 在成功构建 ASP.NET CORE MVC项目之后,选中解决方案,先填加一个API的文 ...

  6. jquery中的下拉框

    1.1select获取选中的value值 <label for="select"> <select id="key_RedemptionMode&quo ...

  7. JNDI在server.xml中的配置(全局和局部的)

    总结: 全局就是在数据源server.xml中配置,然后通过和项目名相同的xml来进行映射.对所有的项目都起作用.那个项目需要就在对应的tomcat下配置一个与项目名相同的xml映射文件. 局部的就是 ...

  8. CSS3 Tranform 3D 的应用

    CSS3 Tranform 3D 的应用 一.perspective 属性 1. 作用: 设置元素被查看位置的视图,类似于眼睛到屏幕的距离,一般跟 perspective-origin 共同作用在一个 ...

  9. Postman教程——发送第一个请求

    系列文章首发平台为果冻想个人博客.果冻想,是一个原创技术文章分享网站.在这里果冻会分享他的技术心得,技术得失,技术人生.我在果冻想等待你,也希望你能和我分享你的技术得与失,期待. 前言 过年在家,闲来 ...

  10. iOS学习——自动定位

    最近在项目中需要做自动定位功能,就是你在参加会议通过扫描二维码签到的时候自动定位并将你的定位信息在签到中上传,这样可以避免我们进行假签到.在这个功能中,主要用到的是系统自带的定位模块,首先我们是需要配 ...