Study_Servlet


Servlet


サーブレットとは?

  • Webアプリケーションの作成に必要なインタフェース
  • サーブレットの動作

  • 各サーブレットはサーブレットインタフェースを継承し実現し、サーブレットContainerが所有し、Containerを介してサーバと通信する.
  • サーブレットの背景


    Webサーバは静的データしか転送できません



    動的データを扱うCGI(汎用ゲートウェイインタフェース)が出現






    CGI(汎用ゲートウェイインタフェース)の限界





  • Web Containerロール:要求が入ると、要求ごとにThreadが生成され、サーブレットインプリメンテーションに接続され、サーブレットインタフェース内のメソッドが呼び出されます.
  • サーブレットライフサイクル



  • Init:サーブレットInstanceの初期位置
  • サービス:
  • (リクエストの処理時に呼び出される方法)
    abstract class HttpServlet extends Servlet
    	//HTTP Method(GET, POST, PUT, DELETE)에 따라
        //doGet(), doPost(), doPut(), doDelete()메서드를 호출한다.
        //doxxx() : 개발자가 구현하는 부
  • 設計:サーブレットInstanceが消えた場所
  • 通常のコンテナが閉じるときにdestroy()
  • を呼び出す.
  • 特定servletのロード/アンロード時に
  • を使用
    各メソッドは、サーブレットContainer(Tomcat)によって呼び出されます.

    サーブレットContainerとサーブレット呼び出しプロセス



  • リクエストを受信すると、サーブレットRequest/Serret Reposeオブジェクト
  • が作成されます.
  • プロファイルを参照して、マッピングするサーブレット
  • を表示します.
  • テンプレートインスタンスが存在するかどうかを確認し、存在しない場合は(Init()
  • を作成する.
  • サーブレットContainerでスレッドを作成し、サービス
  • をRes、Reqをパラメータとして実行する.

  • 処理
  • 応答.
  • Dispatcher Servlet









    Webリクエスト処理プロセス









    ref.
    https://www.youtube.com/watch?v=cmwmamOQmPc
    https://www.youtube.com/watch?v=calGCwG_B4Y
    https://www.youtube.com/watch?v=2pBsXI01J6M