我对Servlet中的概念接口感到困惑。我想确保我明白我在做什么。因此,任何解释都将非常感激。
public class Testing implements Servlet
{
public void init(ServletConfig arg0) throws ServletException
{
/* getting some values from web.xml } */
}
}
(i)将由tomcat调用init (ii)ServletConfig是一个交互式界面,如何创建一个接口对象?
答案 0 :(得分:1)
您无法直接实例化界面。一个类必须实现该接口。然后,您可以实例化该类。
有关更多信息和示例,请查看:http://docs.oracle.com/javase/tutorial/java/IandI/usinginterface.html
答案 1 :(得分: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 A
为ServletConfig
,而class B
是实施ServletConfig
的类。现在您可以传递类型为{{obj
的{{1}} 1}}并指向类A
的对象,任何方法..
答案 2 :(得分:0)
你不能实例化一个接口,但你可以实例化一个实现该接口的类。正如您所说, tomcat(Web服务器/ Servlet或JSP容器)会调用 init()方法。
ServletConfig接口在 instletation of servlet 期间使用。 它有像 getInitParameters(string),getServletName()等方法。 你可以查看它here。
答案 3 :(得分:-2)
我认为答案3举个例子是不正确的,你为什么不在界面中使用扩展键盘? tomcat服务器是servelt规范容器的重要组成部分。所以ServletConfig也很有用。