0

サーブレットの概念インターフェースと混同しています。自分が何に取り組んでいるのかを理解していることを確認したい。したがって、説明は大歓迎です。

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 AここでがServletConfigであり、が . をclass B実装するクラスであると仮定します。 これで、 の型とクラスのオブジェクトへのポイントを任意のメソッドにServletConfig渡すことができます..objAB

于 2012-09-27T21:42:34.547 に答える
0

インターフェイスをインスタンス化することはできませんが、そのインターフェイスを実装するクラスをインスタンス化することはできます。あなたが言ったように、init()メソッドtomcat(ウェブサーバー/サーブレットまたはJSPコンテナ)によって呼び出されます。

サーブレット構成インターフェースは、サーブレットのインスタンス化中に使用されます。getInitParameters(string)、getServletName() ...などのメソッドがあります。ここでそれを見ることができます。

于 2012-09-27T21:49:38.960 に答える
-2

答え 3 の例は正しくないと思います。インターフェースで拡張キーワードを使用しないのはなぜですか? tomcat サーバーは servelt 仕様コンテナーを実装しています。そのため、ServletConfig も実装されています。

于 2012-09-28T08:06:29.977 に答える