2012-09-27 69 views
0

我对Servlet中的概念界面感到困惑。我想确保我明白我在做什么。所以任何解释将不胜感激。在Servlet中创建一个接口的对象(需要解释)?

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

} 

(ⅰ)init将被Tomcat (ⅱ)的ServletConfig是interaface,如何能的接口对象可以创建被称为?

回答

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的类。现在你可以通过小号obj这是A类型和点的反对B类的,以任何方法..

0

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

ServletConfig接口用于您的servlet的安装期间。 它有像getInitParameters(字符串),getServletName() ...等方法。 你可以看看它here

-2

我认为答案3举一个例子是不正确的,你为什么不在接口中使用扩展keywrod? tomcat服务器正在实施servelt规范容器,所以ServletConfig也是实现的。