美文网首页
关于GenericServlet抽象类init()

关于GenericServlet抽象类init()

作者: ymjl | 来源:发表于2017-10-03 02:19 被阅读0次
    //GenericServlet类
    public voidinit(ServletConfig config)throwsServletException {
    
    this.config = config;
    
    this.init();
    
    }
    public void init() throws ServletException {
        }
    

    问题:

    • 为什么要实现如上代码的一个无参init()方法。
    //GenericServlet类中
    public ServletContext getServeltContext()  
    {  
     return config.getServletContext;  
    } 
    

    答:解决在GenericServlet中,从servlet接口带来的init(ServletConfig config)对它进行重写时,如果忘了调用super.init(config)时,就会出现空指针异常。

    • 带参init()方法与init()方法,servlet容器怎么处理的?

    答: servlet容器只执行带配置参数的init()函数

    • servlet容器只会执行带servlet配置参数的init()函数,那子类中的init()初始化怎么实现的?

    答:因为父类init(ServletConfig arg调用了父类中 重写的init()方法,又因为子类重写了init()方法,会调用子类的init()进行初始化,servlet容器只会调用带参数的init()方法初始化servlet

    主要体现了java的多态特性

    相关文章

      网友评论

          本文标题:关于GenericServlet抽象类init()

          本文链接:https://www.haomeiwen.com/subject/nwdxyxtx.html