init()方法必须使用super.init(config)的原因--Servlet
原 因:
一个servlet在它的init()方法中传递它的ServletConfig实例,在其他的方法中却不可以。当一个servlet在 init()方法外需要调用config对象时就会产生问题。使用super.init(config)语句就解决了这个问题,该语句通过唤醒 GenericServlet的init()方法, 该方法保存了这个config对象的一个引用,以备将来使用。那么,一个servlet是怎样利用这个保存的引用的呢?是通过自身唤醒方法。在执行 中,GenericServlet类通过使用保存的引用,自身执行ServletConfig接口。换个说法,就是在调用 super.init(config)语句后,一个servlet可以直接唤醒它自己的getInitParameter()方法。
如果没有调用super.init(config)语句,任何使用GenericServlet的getInitParameter()方法的行为或者是调用ServletConfig 的方法都将会抛出NullPointerException的异常。所以每一个servlet的init ()方法的第一个语句都应该是super.init(config)。只有在一种情况下可以不这样做,如果这个servlet直接执行 javax.servlet.Servlet接口,这种情况下则没有super.init().
init()方法必须使用super.init(config)的原因--Servlet的更多相关文章
- httpservlet在创建实例对象时候默认调用有参数的init方法 destroy()方法 service方法, 父类的init方法给子类实例一个config对象
- 两个init方法的区别
容器创建了Servlet实例后,它将调用实例的init(ServletConfig)方法初始化Servlet.该方法的参数ServletConfig对象包含了在WEB应用程序的部署描述文件中指定的初始 ...
- [转] "self = [super init]"的解释与潜藏bug
Objective-C的推荐init方法写法如下: - (id) init { if(self = [super init]) { //为子类增加属性进行初始化 } return self; } 这里 ...
- [Objective-c 基础 - 2.7] 构造方法、重写init方法
A.id 万能指针,可以指向任何对象,实质是NSObject的指针,使用的时候不用加上* B.NSObject中得类方法new 1.完整地创建一个可用对象步骤 (1)分配存储空间 + alloc ...
- self = [super init]
Objective-C的推荐init方法写法如下: - (id) init { if(self = [super init]) { //为子类增加属性进行初始化 } return self; } 返回 ...
- 01_5_SERVLET为什么有2个init方法
01_5_SERVLET为什么有2个init方法 1. 在web.xml配置初始化参数 <servlet> <servlet-name>TestInitServlet</ ...
- servlet-有参数的init和无参的init方法
package gz.itcast.d_init; import javax.servlet.ServletConfig; import javax.servlet.ServletException; ...
- OC重写init方法
在创建一个对象的时候我们经常会用到init方法,单单是init只能是初始化,当我们在初始化的时候想要给这个对象加上默认的东西的时候, 系统提供的init方法就不能满足我们的需要,这时,就需要我们自己去 ...
- [super init]方法的调用
当重新覆盖父类的init方法时,需要调用[super init]方法确认父类中的init是返回一个实例,而不是一个空的实例. 那为什么要调用这个呢? 我得猜测是这样的:因为这是一个初始化方法,需要对对 ...
随机推荐
- 【xlwings1】Python-Excel 模块哪家强
Python-Excel 模块哪家强? 0. 前言 从网页爬下来的大量数据需要清洗? 成堆的科学实验数据需要导入 Excel 进行分析? 有成堆的表格等待统计? 作为人生苦短的 Python 程序 ...
- LUOGU P1414 又是毕业季II
题目背景 "叮铃铃铃",随着高考最后一科结考铃声的敲响,三年青春时光顿时凝固于此刻.毕业的欣喜怎敌那离别的不舍,憧憬着未来仍毋忘逝去的歌.1000多个日夜的欢笑和泪水,全凝聚在毕业 ...
- maven安装教程(Idea)
下载网址:https://maven.apache.or 点击Download 根据需要下载需要的版本 1.解压下载好的安装包放入新创建的maven文件夹中 2.在系统变量中添加环境变量(建议改成M2 ...
- session失效刷新后登录页面嵌入在iframe中的解决办法
在login页面中添加以下一段代码: var _topWin = window; while (_topWin != _topWin.parent.window) { _topWin ...
- ACM-ICPC 2019 西安邀请赛 D.Miku and Generals(二分图+可行性背包)
“Miku is matchless in the world!” As everyone knows, Nakano Miku is interested in Japanese generals, ...
- 【模板】Vector存图 + SPFA
最近愉快地决定要由边集数组转向Vector存图,顺便开始图论集训 老惯例,以题写模板 P1339 [USACO09OCT]热浪Heat Wave 题目描述 The good folks in Texa ...
- thinkcmf 导航高亮制作方法(适用于多级导航)(通用)
平时用thinkcmf网站开发经常需要导航点击之后高亮,就写了一些实现方法分享一下. 思路很简单,先获取当前页面的顶级栏目的地址,然后与导航中的地址比较,相同的就加上一个class,把下面函数理解了不 ...
- python 中if __name__=="__main__"
if __name__=="__main__":表示当执行运行文件为当前代码所在文件时,则会执行if__name__=="__main__":后的语句. 如果这 ...
- 支付宝 python alipay 集成(转)
即时到帐只是支付宝众多商家服务中的一个,表示客户付款,客户用支付宝付款,支付宝收到款项后,马上通知你,并且此笔款项与交易脱离关系,商家可以马上使用. 即时到帐只对企业客户服务,注册成功企业账号以后,申 ...
- BZOJ 1925地精部落题解
题目链接 一道神仙题,有很多思考的方式,这里选择最好理解的一种来讲 我们将序列分为两种,一种开头递增,一种开头递减,显然这两种序列的数目是一样的 现在我们只用考虑开头递增的情况 f[i][j]表示前i ...