JavaEE复习二
Servlet应用开发接口:
javax.servlet.Servlet:
- init()方法:调用在构造方法之后,在service方法之前;
- service()方法:调用此方法允许Servlet响应请求,在Servlet成功初始化之前无法调用;
- destroy()方法:当一个Servlet被从服务中去除时,Servlet会调用此方法。当这个对象service()方法所有的线程未全部退出或者被容器认为发生超时操作时,此方法不会调用
- getServletConfig()方法:get 一个 ServletConfig,
- getServletInfo()方法:允许Servlet向主机的Servlet运行提供有关信息
Servlet生命周期:
- 客户端发送请求
- Servlet容器解析请求
- 创建Servlet实例
- 调用init方法
- 调用service方法
- 输出响应信息
- 返回响应
- 调用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生命周期可以分为四个阶段(总结):
- 加载和实例化:调用构造方法,由servlet容器完成
- 初始化:调用init方法
- 处理客户请求:service方法(doGet、doPost)
- 销毁:销毁之前调用destroy方法
ServletConfig包含web程序部署描述符中定义的参数,servletConfig是由Servlet容器实例化
每个Web应用启动后,Servlet容器都会创建唯一的一个ServletContext对象,该对象包含整个web程序的信息
Servlet是多线程应用
JavaEE复习二的更多相关文章
- javaEE复习重点个人总结
最近在学院或集队的群里看见最多的就是求javaEE大作业了,那么突然有感而发,写点参考性的期末复习总结. 第一章JavaEE 概述: 1:两层体系应用体系结构 安全性低,部署困难,消耗系统资源 2 三 ...
- C#复习二(Twenty First Day)
呵呵,又来到了今天的总结.这次主要复习了一下字符串的一些处理.今天就来总结一下. 理论: String 字符串,字符串可以看成字符数组,不可变特性(通过for循环,修改string中的元素,失败!) ...
- Mac之OS系统下搭建JavaEE环境 <二> 之Tomcat 的安装配置
二.Tomcat的安装与配置 1.下载Tomcat 找到Tomcat的官网 百度搜索Tomcat 点击下载即可 下载网址:http://tomcat.apache.org/download-80.cg ...
- JAVA基础部分复习(二、集合类型)
对于这些常用的集合,建议还是需要先了解一下底层实现原理,这样在不同的使用场景下才能选择更好的方案. Set介绍以及对比,常用方法: package cn.review.day02; import ja ...
- C语言复习---二维数组和二级指针的关系:没关系,别瞎想(重点)
前提:一维数组和一维指针为什么可以替换使用? ] = { , , }; int *p = a; ; i < ; i++) printf("%d ", *(p + i)); 上 ...
- vue复习(二)
一.组件介绍 每一个组件都是一个vue实例 每个组件均具有自身的模板template,根组件的模板就是挂载点 每个组件模板只能拥有一个根标签 子组件的数据具有作用域,以达到组件的复用 二.局部组件 & ...
- 洛谷 P1509 找啊找啊找GF(复习二维费用背包)
传送门 题目背景 "找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." "诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sq ...
- Linux 复习二
第二章 一.Linux文件系统 1.基本概念 Linux文件系统为单根的树状结构,根为“/”,文件名大小写敏感,除了“/”都是可用字符,文件名以“.”开始的为隐藏文件. 2.常用文件夹 bin:可执行 ...
- flume复习(二)
一.简介:flume是一种分布式.可靠且可用的系统,能够用于有效的从不同的源收集.聚合和移动大量的日志数据到集中式数据存储.它具有基于流数据的简单灵活的架构,它具有健壮的可靠性机制和许多故障转移和恢复 ...
随机推荐
- flask cache
http://brunorocha.org/python/flask/using-flask-cache.html 如何在大项目中使用cache 新建全局cache.py cache = Cache( ...
- celery tasks always in pending
Result backend doesn't work or tasks are always in PENDING state¶All tasks are PENDING by default, s ...
- Navicat15最新版本破解 亲测可用!!!(Navicat Premium 注册出现 No All Pattern Found! File Already Patched)
1.下载Navicat Premium官网https://www.navicat.com.cn/下载最新版本下载安装 2.本人网盘链接:https://pan.baidu.com/s/1ncSaxId ...
- dos的基本命令
打开cmd的方式 开始+系统+命令提示符 Win键+R 输入cmd打开控制台(推荐使用) 在任意的文件夹下面,按住shift键+鼠标右键点击,在此处打开命令行窗口 资源管理器的地址栏前面加上cmd + ...
- salesforce零基础学习(一百零九)Lightning Login启用以及配置
本篇参考:https://help.salesforce.com/s/articleView?id=sf.security_ll_overview.htm&type=5 我们在之前的篇中提到过 ...
- SpringCloud微服务实战——搭建企业级开发框架(二十五):实现多租户多平台短信通知服务
目前系统集成短信似乎是必不可少的部分,由于各种云平台都提供了不同的短信通道,这里我们增加多租户多通道的短信验证码,并增加配置项,使系统可以支持多家云平台提供的短信服务.这里以阿里云和腾讯云为例,集成短 ...
- Codeforces 521D - Shop(贪心)
Codeforces 题目传送门 & 洛谷题目传送门 一道不算太难的贪心,可惜又没自己想出来,显然省选之后我的能力呈 \(y=-1145141919810192608179998244353x ...
- js ajax 请求
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 如何使用csapp文件
深入理解操作系统中有个csapp.h的头文件 以下来介绍下如何使用它: 该头文件下载地址为http://download.csdn.net/detail/tzasd89812/4206284 在Ubu ...
- mysql 计算日期为当年第几季度
select T21620.日期 as F21634, QUARTER('98-04-01') as quarter #返回日期是一年的第几个季度 - ...