JVMは通常のJavaクラスと比較してサーブレットをどのように実行しますか?JVMは通常のJavaクラスと比べてサーブレットをどのように実行しますか?
他のJavaクラスと同様に呼び出すことはできません。
JVMは通常のJavaクラスと比較してサーブレットをどのように実行しますか?JVMは通常のJavaクラスと比べてサーブレットをどのように実行しますか?
他のJavaクラスと同様に呼び出すことはできません。
サーブレットは、サーブレット仕様を実装するコンテナによってインスタンス化されます。サーブレットの実装は、Webアプリケーションでのみ意味を持ちます。
Tomcat、Wildflyなどのコンテナは、リクエストを受信したときにサーブレットオブジェクトをインスタンス化するものです。コンテナはHttpServletRequest
とHttpServletResponse
オブジェクトをインスタンス化し、service
メソッドへの呼び出しで渡されます。このオブジェクトは、要求のタイプ(GETまたはPOSTなど)に応じてdoXXX
メソッドに渡されます。
サーブレットはインスタンス化できる他のJavaクラスとまったく同じですが、コンテナによって提供される処理要求が必要なため実用的ではありません。
サーブレットは通常のJavaクラスであり、他のクラスとまったく同じ方法でJVMによって実行されます。
ただし、サーブレットが実行する環境またはコンテキストは異なります。
サーブレットは、他のクラスと同様にmain()
メソッドを使用して直接呼び出されることはありません。
サーブレットクラスは、Webコンテナ(Apache Tomcatのような)によって呼び出され実行されます。
コンテナはweb.xmlなどのコンフィグレーションを読み取り、サーブレットクラスを識別し、java classloader
システムを使用してサーブレットをロードして実行します。