0

我对 Servlet 中的概念接口感到困惑。我想确保我了解我在做什么。因此,任何解释都将不胜感激。

public class Testing implements Servlet 
{
    public void init(ServletConfig arg0) throws ServletException
   {
       /* getting some values from web.xml } */
   }

}

(i) init 将被 tomcat 调用 (ii) ServletConfig 是一个接口,如何创建接口对象?

4

4 回答 4

1

您不能直接实例化接口。一个类必须实现该接口。然后,您可以实例化该类。

有关更多信息和示例,请查看:http ://docs.oracle.com/javase/tutorial/java/IandI/usinginterface.html

于 2012-09-27T21:42:12.100 回答
1

arg0可能是一个引用,ServletConfig但它指向一个实现ServletConfig..的类的对象

例如:-

public interface A {
}

public class B implements A {
}

public class C {
    public static void main(String args[]) {
        A obj = new B();
    }
}

假设这里interface AServletConfig,并且class B是实现的类ServletConfig..现在您可以将objwhich 的类型A和指向类的对象传递B给任何方法..

于 2012-09-27T21:42:34.547 回答
0

你不能实例化一个接口,但你可以实例化一个实现该接口的类。如您所说,该init() 方法tomcat(Web 服务器/Servlet 或 JSP 容器)调用。

ServletConfig 接口在您的 servlet 实例化期间使用。它有getInitParameters(string)、getServletName()等方法。你可以看看这里

于 2012-09-27T21:49:38.960 回答
-2

I think the answer 3 take a example is not correct, why don't you use extend keywrod in interface ? tomcat server is implimenting servelt specification container .so the ServletConfig also is implimented

于 2012-09-28T08:06:29.977 回答