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是一种分布式.可靠且可用的系统,能够用于有效的从不同的源收集.聚合和移动大量的日志数据到集中式数据存储.它具有基于流数据的简单灵活的架构,它具有健壮的可靠性机制和许多故障转移和恢复 ...
随机推荐
- java解析Excel日期格式转换问题
Excel上传导入,Excel里面单元格是日期的会解析出来数字,比如2020-07-11会解析为44023解决方法一: Excel单元格格式设置为文本格式.解决方法二: 使用代码处理,把解析出来的44 ...
- Linux——搭建FTP服务
一.FTP基本概念: 1.FTP的作用: 实现文件系统的安全匿名访问:包括上传.下载和查看,可以应用于Windows和Linux系统 2.FTP的工作原理 server与client都支持ftp传输协 ...
- selenium基本使用,及cannot find chrome binary解决方案
什么是selenium? Selenium是一个用于Web应用程序测试的工具. Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样. 支持通过各种driver(FirfoxDriver ...
- [atAGC050B]Three Coins
记$p_{i}$表示该位置是否有硬币 称使得$p_{i,i+1,i+2}$都变为1的操为对$i$的添加操作,使得$p_{i,i+1,i+2}$都变为0的操作为对$i$的删除操作 考虑一个简单的操作:若 ...
- 如何删除一个win10的服务
使用场景: 之前电脑玩腾讯qq微端游戏,后来卸载残留服务一直在后台占用系统资源.那么如何关闭这个服务呢. 1.首先 管理员运行--cmd.exe 2.打开任务管理器,找到服务名称,如果服务开启可以关闭 ...
- vite的项目,使用 rollup 打包的方法
官网资料 构建生产版本--库模式 https://cn.vitejs.dev/guide/build.html#library-mode 详细设置 https://cn.vitejs.dev/conf ...
- 力扣 - 剑指 Offer 46. 把数字翻译成字符串
题目 剑指 Offer 46. 把数字翻译成字符串 思路1(递归,自顶向下) 这题和青蛙跳台阶很类似,青蛙跳台阶说的是青蛙每次可以跳一层或者两层,跳到第 n 层有多少种解法,而这题说的是讲数字翻译成字 ...
- Codeforces 436D - Pudding Monsters(dp)
Codeforces 题目传送门 & 洛谷题目传送门 u1s1 这题数据范围有点迷惑啊--乍一看 \(\mathcal O(nm)\) 过不去,还以为是正解是 \(\mathcal O(n+m ...
- SQL-增、删、改操作
#查看表 select * from `竟企区域数据分析` #在表第一列新增名为"年月"的列alter table `竟企区域数据分析` add column 年月 varchar ...
- python爬虫采集
python爬虫采集 最近有个项目需要采集一些网站网页,以前都是用php来做,但现在十分流行用python做采集,研究了一些做一下记录. 采集数据的根本是要获取一个网页的内容,再根据内容筛选出需要的数 ...