在父类servlet接口中有三个方法

void init (config) -初始化方法

void service(request,response) -服务方法

void destroy() -摧毁方法

生命周期

对三个方法进行重写

生命周期∶从出生到死亡的过程就是生命周期。对应servlet中的三个方法:init() ,service ( ) , destroy()

默认情况下∶

第一次接收请求时,这个servlet会进行实例化、初始化,然后服务从第二次请求开始,每一次都是服务当容器关闭时,其中的所有的servlet实例会被销毁,调用销毁方法


通过案例我们发现:servlet实例tomcat只会创建一个,所有的请求都是这个实例去响应默认情况下,第一次请求时,tomcat才会去实例化,初始化,然后再服务

优点:提高系统启动速度
缺点:第一次请求时.耗时时间长

如果需要提高系统的启动速度,当前默认情况就是这样。如果需要提高响应速度,我们应该设置Servlet的初始化时机

Servlet的初始化时机

在web.xml中配置

-默认是第一次接收请求时,实例化,初始化
-我们可以通过来设置servlet启动的先后顺序,数字越小,启动越靠前,最小值0

servlet在容器中是:单例的、线程不安全的

-单例:所有的请求都是同一个实例去响应

-线程不安全:一个线程需要根据这个实例中的某个成员变量值去做逻辑判断。但是在中间某个时机,另一个线程改变了这个成员变量的值,从而导致第一个线程的执行路径发生了变化

我们已经知道了servlet是线程不安全的,给我们的启发是:尽量的不要在servlet中定义成员变量。
如果不得不定义成员变量,那么不要去:①不要去修改成员变量的值 ②根据成员变量的值做一些逻辑判断

[javaweb] servlet的生命周期 (二)相关推荐

  1. 简单说一下servlet的生命周期?

    简单说一下servlet的生命周期? 一.简单说一下servlet的生命周期? 二.Servlet API中forward() 与redirect()的区别? 一.简单说一下servlet的生命周期? ...

  2. 【Servlet】HTTP 协议之请求方式、Servlet介绍、Servlet 的生命周期

    HTTP 协议之请求格式 HTTP协议官网:其中有http协议原文https://www.w3.org/Protocols/ 请求格式的结构: 请求头:请求方式.请求的地址和HTTP 协议版本 请求行 ...

  3. Servlet的生命周期和工作原理

    原文 一.Servlet生命周期分为三个阶段: 1).初始化阶段:调用init()方法 2).响应客户端请求阶段:调用service()方法 3).终止阶段:调用destroy()方法         ...

  4. Servlet及其生命周期

    今天开始对Servlet进行一个较为全面深入的学习,并将学习所得记录于此,与君共勉. 思维导图如下: 接下来开始对各部分进行介绍总结. 1.什么是servlet 定义:Servlet是小服务程序或服务 ...

  5. 创建线程的几种方式?JSP的九大内置对象及作用分别是什么?servlet的生命周期及常用方法?转发和重定向区别?ajax书写方式及内部主要参数都有哪些

    文章目录 1 , 创建线程的几种方式? 问题扩展: 2 ,JSP的九大内置对象及作用分别是什么? (1) 问题分析: (2) 核心答案讲解: 1.request对象 2.response对象 3.se ...

  6. java之Servlet的生命周期

    Servlet运行在Servlet容器中,其生命周期由容器来管理.Servlet的生命周期通过javax.servlet.Servlet接口中的init().service()和destroy()方法 ...

  7. 初次使用MyEclipse || Servlet 的生命周期

    Servlet 的生命周期: 从第一次调用,到服务器关闭 如果在 web.xml 中配置了 load-on-startup 则是从服务器开启到服务器关闭 package com.cl.servlet; ...

  8. 框架:Servlet的生命周期

    Servlet运行在Servlet容器中,其生命周期由容器来管理.Servlet的生命周期通过javax.servlet.Servlet接口中的init().service()和destroy()方法 ...

  9. 集成 Tomcat、 Servlet 的生命周期

    通过对 Servlet 的 web.xml 配置,我们知道 Servlet 的配置方式 有很多种,也很多需要注意的地方.但是同时我们也发现每次在 Myeclipse 中更改了代码后,都需要重新复制代码 ...

最新文章

  1. 18.绝对路径和相对路径
  2. Android复习08【内容提供者】
  3. 上海市新能源汽车数据平台引入阿里云Lindorm数据库,成本下降20%
  4. C语言控制流对应的汇编语句
  5. 关于kafka中acks是否可以为all
  6. 【译】使用 CocoaPods 模块化iOS应用
  7. vim 显示tab键
  8. metrics-server 安装问题解决
  9. 【Leetcode 795】Number of Subarrays with Bounded Maximum
  10. 常见网络命令之traceroute命令一起其他常用命令
  11. bug管理工具之禅道的测试模块的使用
  12. 学海无涯!马士兵的Java教程
  13. 51单片机c语言怎么定义引脚,80C51单片机引脚功能图解
  14. qq邮箱foxmail imap服务器,foxmail登录imap服务器提示失败。怎么办?
  15. 数字IC后端实现40天速成篇(中)
  16. 复变函数题目(持续更新)
  17. 尼尔·斯蒂芬森 (Neal Stephenson) 谈他的新地球工程气候变化惊悚片并创造了“元宇宙”一词...
  18. 用汇编程序实现电子时钟
  19. Above the MedianDueling GPSs
  20. 一个完整的产品专题页面策划思路是什么样子?

热门文章

  1. virtualbox mac-debian共享文件夹
  2. 最好用的markdown编辑器推荐typora
  3. 理解C++ lvalue与rvalue
  4. 优雅的创建一个JavaScript库
  5. 【推导】Codeforces Round #364 (Div. 2) D. As Fast As Possible
  6. js解析json字符串数组
  7. 使用U盘安装CentOS6.5
  8. Android C2DM学习 - 云端推送
  9. ASP.NET应用程序使用NLog记录日志
  10. 使用VS2008进行WEB负载测试