【问题标题】:Servlet constructor and init() methodServlet 构造函数和 init() 方法
【发布时间】:2010-09-13 16:34:36
【问题描述】:

为什么我们在 servlet 中需要一个 init() 方法?不能用构造函数来初始化吗?

【问题讨论】:

标签: servlets init


【解决方案1】:

因为 Servlet 是一个接口,而不是一个抽象类。不能在接口上指定构造函数参数,因此需要在普通方法签名上指定 ServletContext。

这允许应用服务器知道如何正确初始化任何 Servlet 实现。

另一个解决方案是要求,但在编译时不强制,构造函数采用 ServletContext。然后应用程序服务器将通过反射调用构造函数。但是,Servlet 规范的设计者并没有选择这条路。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 2013-05-28
    • 2016-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多