Webサーバ->コンテナ->サーブレット->JSP


ターゲットを知る!



Webサーバ

  • の主な機能は、Webページをクライアントに転送することです.
  • htmlドキュメント(画像、CSS、JavaScriptを含む)は主にクライアントに送信されます.
  • ただし、これらのWebサーバでは、既存のロール、すなわち静的ページを提供するしかありません.
  • のリアルタイムページを提供するか、サーバにデータを格納することはWebサーバではできません.
  • では、この役割を果たすために他のヘルプアプリケーションが必要です.
  • これらのヘルプアプリケーションは、Webサーバがヘルプアプリケーションに要求を送信することを可能にする.
  • その後、アシスタントアプリケーションは、要求されたタスクを実行するか、静的ページを作成してWebサーバに送信する.
  • Webサーバはクライアントに戻ります.

  • 副手

  • Javaでこの役割を果たすアシスタントアプリケーションがタブレットです.
  • ただし、サーブレットにはヘルプが必要です.
  • リクエストが受信された場合、リクエストを処理するために新しいスレッドを作成する必要があります.
    必要なメソッドは、サービスボードから呼び出さなければなりません.パラメータが受信した値も渡さなければなりません.
  • これが容器です.
  • Webサーバは、ユーザからサーバに対する要求を受信すると、その要求をコンテナに転送する.
  • リクエストを受信したコンテナは、サービスボードを検索し、必要なメソッドを呼び出します.

  • コンテナ。

  • コンテナは、ユーザが要求を受信するたびに要求を処理するスレッドを生成する.
  • およびスレッドは、必要な補助メソッドを呼び出す.
  • ですが、これは無制限のねじのみを作成することを意味しません.
  • コンテナでは、スレッドはスレッドプールに格納され、必要に応じて取り出して使用されます.
  • ここで注意したいのは、リクエストのたびに新しいスレッドが生成されるわけではありません.
    シルクハーブから出して使います.

    コンテナの動作

  • クライアントがURLを介して要求を送信すると、HTTP要求はサーバコンテナに送信される.
  • HTTPリクエストを受信したサーバコンテナは、HttpServeretRequestとHttpServeretResponseの2つのオブジェクトを作成します.
  • は、その後、要求されたURLを分析して、どのサーバに対して発行された要求を検索する.
    (ユーザはそれをweb.xmlにマッピングする必要がある)
  • は、サーバからサービス方法を呼び出し、POSTまたはGETに従ってdoGet()およびdoPost()を呼び出す.
  • doGet()/doPost()メソッドは動的ページを生成し、HttpServeretResponseオブジェクトに応答を送信します.
  • 応答が完了すると、HttpServeretRequestとHttpServeretResponseの2つのオブジェクトが破棄されます.
  • HttpServeretRequestとHttpServeretResponseオブジェクトを作成するコンテナ
    要求に一致するサーブレットが見つかりますが、サーブレットを見つけるには、開発者がサーブレットをマッピングする必要があります.
    適切なテンプレートが見つからないため、コンテナには情報が見つかりません.
  • サーブレット初期規格は、配備記述子(...)を含む使用しましたが、
    servlet 3.0はAnnotationのサポートを開始し、ディスクリプタを配置することなくテンプレートをマッピングできます.
  • は、クラスにエアバッグを追加するだけで簡単にマッピングできます.
  • @WebServlet("/myservlet")
    public class MyServlet extends HttpServlet{
    	
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse) throws ServletException, IOException{
        		PrintWriter out = response.getWriter();
                	out.println("<html>" + "<body>" + "<h1 align=center> HelloWorld! </h1>" + "</body>" + "<html>");
        }
    }
  • クラス上の手動タグを使用してURLマッピングを完了します.
    HttpServeretクラスを継承するクラスを作成してdoGet()メソッドを上書きします.
  • コンテナで作成されたHttpServeretRequestオブジェクトとHttpServeretResponseオブジェクトがパラメータとして受信されます.
  • htmlコードを応答オブジェクト
  • に書き込む.
  • その後、コンテナはhtmlコードを含む応答メッセージをクライアントに送信する!
  • しかし、out.println()を使用してhtmlコードを生成するのは書きにくいし、
    毒性が低下する.エラーが発生した場合、要求を追加すると修復が困難になります.
  • これらの問題を解決するために、Javaコードにhtmlタグを追加するわけではありません.
    逆に、JSPではJavaコードをhtmlコードに入れることができます.
  • ソース:https://webfirewood.tistory.com/79?category=698497

    Webアプリケーションサーバ(WAS)


  • WebサーバとWebコンテナの組み合わせ

  • HTTPでインターネット上でアプリケーションを実行します.

  • 動的サーバの内容は、一般的なWebサーバとは異なります.
    主にデータベース・サーバのように実行されます.

  • WebサーバとWebアプリケーションサーバは、動的なコンテンツを直接実行できますか?区別に使えます!
    ソース:https://sleepyeyes.tistory.com/13
    続行...