Servlet应用开发接口:

javax.servlet.Servlet:

  • init()方法:调用在构造方法之后,在service方法之前;
  • service()方法:调用此方法允许Servlet响应请求,在Servlet成功初始化之前无法调用;
  • destroy()方法:当一个Servlet被从服务中去除时,Servlet会调用此方法。当这个对象service()方法所有的线程未全部退出或者被容器认为发生超时操作时,此方法不会调用
  • getServletConfig()方法:get 一个 ServletConfig,
  • getServletInfo()方法:允许Servlet向主机的Servlet运行提供有关信息

Servlet生命周期:

  1. 客户端发送请求
  2. Servlet容器解析请求
  3. 创建Servlet实例
  4. 调用init方法
  5. 调用service方法
  6. 输出响应信息
  7. 返回响应
  8. 调用destory方法

第一次访问Servlet时:

  会调用servlet的构造方法,调用init()在一个Servlet的生命周期中只执行一次

在服务器启动加载网站是:

  会调用service方法

具体什么时候加载需要通过web.xml配置文件中对应servlet设置项<load-on-startup>节点进行设置:

1 load-on-startup标记容器是否在启动的时候实例化并调用其init()方法的优先级。
2 它的值表示servlet应该被载入的顺序
3 当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
4 如果值小于0或未指定时,则表示只有在第一次请求的容器才在该servlet调用初始化函数
5 正值越小,servlet的优先级越高,应用启动时就越先加载。
6 值相同时,容器就会自己选择顺序来加载。

load-on-startup

Servlet在什么时候被销毁:

  服务器关闭;更新、停止web模块的时候;由Servlet容器根据情况(destory方法)

destory()方法:

  在Servlet实例被销毁之前调用,在一个Servlet的生命周期中只执行一次

Servlet生命周期可以分为四个阶段(总结):

  1.   加载和实例化:调用构造方法,由servlet容器完成
  2.   初始化:调用init方法
  3. 处理客户请求:service方法(doGet、doPost)
  4. 销毁:销毁之前调用destroy方法

ServletConfig包含web程序部署描述符中定义的参数,servletConfig是由Servlet容器实例化

每个Web应用启动后,Servlet容器都会创建唯一的一个ServletContext对象,该对象包含整个web程序的信息

Servlet是多线程应用

JavaEE复习二的更多相关文章

  1. javaEE复习重点个人总结

    最近在学院或集队的群里看见最多的就是求javaEE大作业了,那么突然有感而发,写点参考性的期末复习总结. 第一章JavaEE 概述: 1:两层体系应用体系结构 安全性低,部署困难,消耗系统资源 2 三 ...

  2. C#复习二(Twenty First Day)

    呵呵,又来到了今天的总结.这次主要复习了一下字符串的一些处理.今天就来总结一下. 理论: —String 字符串,字符串可以看成字符数组,不可变特性(通过for循环,修改string中的元素,失败!) ...

  3. Mac之OS系统下搭建JavaEE环境 <二> 之Tomcat 的安装配置

    二.Tomcat的安装与配置 1.下载Tomcat 找到Tomcat的官网 百度搜索Tomcat 点击下载即可 下载网址:http://tomcat.apache.org/download-80.cg ...

  4. JAVA基础部分复习(二、集合类型)

    对于这些常用的集合,建议还是需要先了解一下底层实现原理,这样在不同的使用场景下才能选择更好的方案. Set介绍以及对比,常用方法: package cn.review.day02; import ja ...

  5. C语言复习---二维数组和二级指针的关系:没关系,别瞎想(重点)

    前提:一维数组和一维指针为什么可以替换使用? ] = { , , }; int *p = a; ; i < ; i++) printf("%d ", *(p + i)); 上 ...

  6. vue复习(二)

    一.组件介绍 每一个组件都是一个vue实例 每个组件均具有自身的模板template,根组件的模板就是挂载点 每个组件模板只能拥有一个根标签 子组件的数据具有作用域,以达到组件的复用 二.局部组件 & ...

  7. 洛谷 P1509 找啊找啊找GF(复习二维费用背包)

    传送门 题目背景 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." "诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sq ...

  8. Linux 复习二

    第二章 一.Linux文件系统 1.基本概念 Linux文件系统为单根的树状结构,根为“/”,文件名大小写敏感,除了“/”都是可用字符,文件名以“.”开始的为隐藏文件. 2.常用文件夹 bin:可执行 ...

  9. flume复习(二)

    一.简介:flume是一种分布式.可靠且可用的系统,能够用于有效的从不同的源收集.聚合和移动大量的日志数据到集中式数据存储.它具有基于流数据的简单灵活的架构,它具有健壮的可靠性机制和许多故障转移和恢复 ...

随机推荐

  1. 大一C语言学习笔记(10)---编程篇--制作简易计算器,支持加,减,乘,除,取余运算,要求 0 bug

    博主自开学初就一直在努力为自己的未来寻找学习方向,学习编程嘛,尽量还是要抱大腿的,所以我就加入了我们学校的智能设备研究所,别的不说,那的学长们看起来是真的很靠谱,学长们的学习氛围也超级浓厚,所以我就打 ...

  2. postman调试工具介绍及常用的快捷键收集

    关于Postman postman基础功能介绍 使用postman进行接口自动化测试 快捷键大全 简单操作 请求 工具栏 接口 窗口 数据编辑 关于Postman Postman是一款功能强大的网页调 ...

  3. oracle 连接数据库并查询,返回List<Map<String, Object>> 数据

    package JDBC; import java.sql.Clob; import java.sql.Connection; import java.sql.DriverManager; impor ...

  4. cmd 命令 导出导入oracle数据库 的 表

    原地址:https://www.cnblogs.com/mysterious-killer/p/11671741.html (防止) 导出: 不要数据的:exp username/pwd@localh ...

  5. [atARC094D]Worst Case

    首先,容易证明满足条件的$ip_{i}$必然是一个前缀 将其看成一张二分图,$i$向满足$ip_{i}<xy$的$p_{i}$连边,即找到一个前缀满足其有完美匹配 二分枚举前缀长度$k$,根据h ...

  6. 解决Windows7、Windows10 ping不通的问题

    在VLAN交换机网络下面不能访问Windows10或者Windows7共享.ping不通问题,关闭防火墙发现能ping通了共享也正常了. 但是关闭防火墙将给电脑系统留下安全隐患.不怕麻烦的可以继续往下 ...

  7. python的包与模块

    win +R d

  8. mysql-select as

    给查询对象起个别名. 把查询对像起个别名的作用. select ID as 用户ID,Name as 用户名 from Table_user

  9. 毕业设计之zabbix+微信企业号报警

    需要自己申请一个微信企业号 创建应用 AgentId 1000003 Secret SOI8b20G96yUVM29K02-bP5N5o6dovwSF2RrDaXHJNg 企业ID(自己再企业信息里面 ...

  10. 睡眠或者重启windows,无法ssh连接或者pingVMware的虚机

    睡眠后无法直接ssh重连VMware主机问题 这个问题我在win8上出现过,win10看了下同事可以正常连,不知道其他有没有问题. 解决方法: 1.关闭vmnet8和vmnet0里面的 npcap 功 ...