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

MyMemoWiki

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

提供: MyMemoWiki
ナビゲーションに移動 検索に移動
 
7行目: 7行目:
 
=====サーブレットロードの順序=====
 
=====サーブレットロードの順序=====
 
#サーブレットコンテナは、起動時に配備記述子(web.xml)を探す
 
#サーブレットコンテナは、起動時に配備記述子(web.xml)を探す
#配備記述子(web.xml)のサーブレットエントリには、サーブレット名とJavaクラス名が併記されている
+
#配備記述子(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)で指定された[[初期化パラメータ]]が含まれる
====serviceメソッドの呼び出し====
+
====ser[[vi]]ceメソッドの呼び出し====
 
サーブレットのインスタンス初期化が完了後、サーブレットコンテナは、サーブレットあてのリクエストを、
 
サーブレットのインスタンス初期化が完了後、サーブレットコンテナは、サーブレットあてのリクエストを、
  
[[http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/Servlet.html Servlet.service(ServletRequest, ServletResponse)]] |
+
[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 (ペーパーバック)]] |
+
[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時点における最新版

サーブレット

ライフサイクル

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 (ペーパーバック)