super.init(config)调用的原理
来源:互联网 发布:outlook mac 本地存档 编辑:程序博客网 时间:2024/06/03 19:46
原创文章,鼓励转载请务必注明出处,作者:李佳
servlet的init(ServletConfig config)方法中会有一个super.init(config);其原理如下:
1.如果用户不需要设置一些初始化操作,那么init()方法的实现可有可无,因为可以从父类GenericServlet中继承得到.
2.如果用户需要servlet通过<init-param>从web.xml中读取initialization parameters或者configuration data,那么就需要显式实现init()方法.
3.GenericServlet 提供两个overloaded形式的方法如下:
public void init() throws ServletException
public void init(ServletConfig) throws ServletException
4.Servlet interface只定义一个init(ServletConfig)方法,而且servlet加载时必须被调用,但只在第一次加载被调用一次.
5.GenericServlet实现了这个init(ServletConfig)方法,这个方法先保存ServletConfig reference,然后调用init()方法.
6.如果用户servlet实现init()方法并在其中填充自己需要初始化的信息,这个init()会被GenericServlet中的init(ServletConfig)方法调用.因为ServletConfig reference已经
被保存,所以你可以访问web.xml中的<init-param>.
7.如果用户servlet实现init(ServletConfig),那么就覆盖了GenericServlet(父类)的init(ServletConfig)方法,因此,GenericServlet会调用子类的方法,而不会保存
ServletConfig reference,必须执行super.init(config);才能保存ServletConfig reference访问web.xml中的<init-param>.
8.所以你有两种方法初始化,如下:
第一种方法是
public class LoginServlet extends HttpServlet {
public void init() throws ServletException {
}
//...Rest of Servlet
}
第二中方法是
public class LoginServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
super.init(config);
// ...Remainder of init() method
}
//...Rest of Servlet
}
9.servlet初始化正常结束,才能处理处理用户的请求,如果在初始化方法init()中出现错误,那么需要throw a ServletException或者父类的UnavailableException.这会告诉
servlet容器初始化失败,不能处理任何请求.
- super.init(config)调用的原理
- super init的初始化调用
- tomcat的init()与init(ServletConfig config)
- super init
- super init
- self = [super init] 引发的思考
- 对 self =[super init]的认识
- if(self = (super init))的理解
- 对 self = [super init] 的理解
- super.getClass()的调用
- UIView的init调用
- self = [super init]; if (self) { 与 if (self == [super init]) { 的理解
- Java克隆调用super.clone()原理
- self = [super init]
- self = [super init]
- self = [super init]
- self = [super init]
- self = [super init]
- 关于四色模型
- C#返回汉字的首字母
- keytool - 密钥和证书管理工具
- 5-用java生成word文档
- 生产订单成本计划成本错误修改方法
- super.init(config)调用的原理
- 技术资料:常用路由器基本配置命令
- asp.net静态网页生成方案
- javadoc是什么?
- 动态生成验证码
- LTC4055芯片(USB电源管理/充电器)
- Delphi 快捷键 让你更像高手!! (form DFW)
- UNIX 高手的10 个习惯
- Delphi中建议使用的语句 选择自 crbb 的 Blog