| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

1.4 サーブレットのライフサイクルの目的とイベントシーケンスを説明する

提供: MyMemoWiki
2020年2月15日 (土) 08:33時点におけるPiroto (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

サーブレット

ライフサイクル

0082 servlet lyfecycle.jpg

クラス図

0081 servlet.jpg

サーブレットクラスのロードとインスタンス化

サーブレットロードの順序
  1. サーブレットコンテナは、起動時に配備記述子(web.xml)を探す
  2. 配備記述子(web.xml)のサーブレットエントリには、サーブレット名とJavaクラス名が併記されている
  3. サーブレットコンテナはClass.forName(className).newInstance()を使用してサーブレットのインスタンスを生成する
  4. サーブレットはこの時点でロード状態となる
  • サーブレットクラスにデフォルトコンストラクタが必要

initメソッドの呼び出し

サーブレットは、init(ServletConfig) メソッド内で、初期化処理を行う。
  • サーブレットは、サーブレットコンテナによりデフォルトコンストラクタを利用して、インスタンス化される
  • サーブレットを初期化したい状況において、コンストラクタは利用できない(デフォルトコンストラクタが使用される)
  • サーブレットコンテナは、サーブレットをロード後、サーブレットの初期化のためにServlet.init(ServletConfig)メソッドを呼び出す
  • ServletConfigオブジェクトには、配備記述子(Web.xml)で指定された初期化パラメータが含まれる

serviceメソッドの呼び出し

サーブレットのインスタンス初期化が完了後、サーブレットコンテナは、サーブレットあてのリクエストを、

[Servlet.service(ServletRequest, ServletResponse)] |

へディスパッチする

destroyメソッドの呼び出し

  • サーブレットコンテナは、サーブレットが不要になったと判断したら、インスタンスのServlet.destroy() メソッドを呼び出す
  • この状態になると、あとはアンロード状態にしか遷移できない

1.3 HttpServletレスポンスのインタフェースを使用して、以下のコードを書き出す 2.1 Webアプリケーションのファイルとディレクトリ構造を構築する

[SCWCD Exam Study Kit: Java Web Component Developer Certification (ペーパーバック)] |