Web第二章(ポイント)

1880 ワード

1.servletのクラスアーキテクチャと重要な方法
  
役割ドメイン:1,サーブレットContext(コンテキスト)Webアプリケーション全体.サーブレットContextオブジェクトは、各サーブレットが所有するサーブレットコンフィグオブジェクトのgetサーブレットContext()メソッドでオブジェクトを取得できます.コンテキスト役割ドメインで設定された属性は、サーバが閉じられない限り、Webアプリケーションの任意の部分にアクセスできるように、Webアプリケーション全体で共有されます.スレッドは安全ではありません
2,HttpSession(セッション)1つのセッションインタラクションプロセス(スレッドが安全ではない)のセッション役割ドメインに設定された属性はWebアプリケーションのすべての部分にアクセスできず、同じクライアントとサーバの1つの持続的なセッションインタラクションプロセスでのみ格納・メンテナンスされ、セッションが破棄されて設定された属性も破棄されます.
3,ServeretRequest(要求)一次要求プロセスは,コンテキスト役割ドメインに設定された属性のため,サーバがシャットダウンされない限り常に存在する.コンテキストの役割ドメインに設定されたプロパティは、持続的なセッションインタラクション中にも存在します.そのため、システムリソースが非常に消費されます.リクエスト役割ドメインに属性を設定し、リクエストが終了するとオブジェクトがゴミ回収され、リクエスト役割ドメインを使用でき、できるだけ使用できます.
サーブレットリスナー:1.サーブレットContextListener:WEBアプリケーションの起動と破棄のイベントをリスニングするため、リスナークラスはjavaxを実現する必要がある.servlet.サーブレットContextListenerインタフェース.
2.サーブレットContextAttributeListener:WEBアプリケーションの属性変更のイベントをリスニングするために使用され、属性の追加、属性の削除、属性の変更を含む、リスナークラスはjavaxを実現する必要がある.servlet.サーブレットContextAttributeListenerインタフェース.
3.HttpSessionListener:Sessionオブジェクトの作成と破棄を傍受するため、Listenerクラスはjavaxを実現する必要がある.servlet.http.HttpSessionListenerインタフェースまたはjavax.servlet.http.HttpSessionActivationListenerインタフェース、または両方を実装します.
4.HttpSessionActivationListener:Sessionオブジェクトのパッシベーション/活性化イベントを傍受するために、Listenerクラスはjavaxを実現する必要がある.servlet.http.HttpSessionListenerインタフェースまたはjavax.servlet.http.HttpSessionActivationListenerインタフェース、または両方を実装します.
5.HttpSessionAttributeListener:Sessionオブジェクトの属性の変更イベントをリスニングするために使用され、リスナークラスはjavaxを実現する必要がある.servlet.http.HttpSessionAttributeListenerインタフェース.
 
2.servletのライフサイクル
Servlet        ,     init  ,        service  ,service              doXXX  (doGet,doPost) ,                 destroy  。
 cgi     servlet        ,           service  ,             ,           , CGI            ,        ,       servlet。