码迷,mamicode.com
首页 > 其他好文 > 详细

init()方法必须使用super.init(config)的原因--Servlet

时间:2015-12-31 19:18:02      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

原 因:

一个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

标签:

原文地址:http://www.cnblogs.com/qingfengzhuimeng/p/5092515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!