「1.4 サーブレットのライフサイクルの目的とイベントシーケンスを説明する」の版間の差分
ナビゲーションに移動
検索に移動
7行目: | 7行目: | ||
=====サーブレットロードの順序===== | =====サーブレットロードの順序===== | ||
#サーブレットコンテナは、起動時に配備記述子(web.xml)を探す | #サーブレットコンテナは、起動時に配備記述子(web.xml)を探す | ||
− | #配備記述子(web.xml) | + | #配備記述子(web.xml)のサーブレットエントリには、サーブレット名と[[Java]]クラス名が併記されている |
#サーブレットコンテナはClass.forName(className).newInstance()を使用してサーブレットのインスタンスを生成する | #サーブレットコンテナはClass.forName(className).newInstance()を使用してサーブレットのインスタンスを生成する | ||
#サーブレットはこの時点でロード状態となる | #サーブレットはこの時点でロード状態となる | ||
17行目: | 17行目: | ||
*サーブレットを初期化したい状況において、コンストラクタは利用できない(デフォルトコンストラクタが使用される) | *サーブレットを初期化したい状況において、コンストラクタは利用できない(デフォルトコンストラクタが使用される) | ||
*サーブレットコンテナは、サーブレットをロード後、サーブレットの初期化のために[http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/Servlet.html Servlet.init(ServletConfig)]メソッドを呼び出す | *サーブレットコンテナは、サーブレットをロード後、サーブレットの初期化のために[http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/Servlet.html Servlet.init(ServletConfig)]メソッドを呼び出す | ||
− | *ServletConfigオブジェクトには、配備記述子(Web.xml) | + | *ServletConfigオブジェクトには、配備記述子(Web.xml)で指定された[[初期化パラメータ]]が含まれる |
− | ==== | + | ====ser[[vi]]ceメソッドの呼び出し==== |
サーブレットのインスタンス初期化が完了後、サーブレットコンテナは、サーブレットあてのリクエストを、 | サーブレットのインスタンス初期化が完了後、サーブレットコンテナは、サーブレットあてのリクエストを、 | ||
− | + | [http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/Servlet.html Servlet.service(ServletRequest, ServletResponse)] | |
へディスパッチする | へディスパッチする | ||
28行目: | 28行目: | ||
*この状態になると、あとはアンロード状態にしか遷移できない | *この状態になると、あとはアンロード状態にしか遷移できない | ||
---- | ---- | ||
− | 1.3 HttpServletレスポンスのインタフェースを使用して、以下のコードを書き出す | + | [[1.3 HttpServletレスポンスのインタフェースを使用して、以下のコードを書き出す]] |
− | 2.1 Webアプリケーションのファイルとディレクトリ構造を構築する | + | [[2.1 Webアプリケーションのファイルとディレクトリ構造を構築する]] |
{{amazon|1932394389}} | {{amazon|1932394389}} | ||
− | + | [http://www.amazon.co.jp/dp/1932394389?tag=typea09-22&link_code=as3&creativeASIN=1932394389&creative=3999&camp=767 SCWCD Exam Study Kit: Java Web Component Developer Certification (ペーパーバック)] |
2020年2月16日 (日) 04:21時点における最新版
目次
サーブレット
ライフサイクル
クラス図
サーブレットクラスのロードとインスタンス化
サーブレットロードの順序
- サーブレットコンテナは、起動時に配備記述子(web.xml)を探す
- 配備記述子(web.xml)のサーブレットエントリには、サーブレット名とJavaクラス名が併記されている
- サーブレットコンテナはClass.forName(className).newInstance()を使用してサーブレットのインスタンスを生成する
- サーブレットはこの時点でロード状態となる
- サーブレットクラスにデフォルトコンストラクタが必要
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 (ペーパーバック)
© 2006 矢木浩人