「Spring」サーブレットとは?サーブレット、サーブレット内コンテナの理解
スプリングを使用して開発する場合、HttpServiceRequestやHttpServiceResponseなどのサーブレットという言葉によく遭遇します.
開発の過程で多くのサーブレットが使用されていますが、サーブレットが何なのか、その役割が何なのかは分かりません.この機会に知りたいと思います.
クライアントからサーバにデータを転送するHTMLフォームでは、サーブレットがサーバ上で果たす役割を見てみましょう.
クライアント側では、次のように名前と年齢を受信できるフォームがあると仮定します.ユーザー名にkimを入力し、年齢に20を入力して「送信」ボタンをクリックすると、Webブラウザは右側に示すようにHTTPメッセージを生成します.データはフォーム形式であるため、HTTPメッセージの内容タイプはアプリケーション/x-www-form-unloadであり、データはusername=kim&age=20の形式で伝送される.
サーバは、上記のデータを受信し、次の操作を実行する必要があります.サーバはTCP/IP接続待ち、スロット接続 HTTP要求メッセージのパケット読み出し を行う. POSTフォーム、/save URLか かコンテンツタイプ確認 HTTPメッセージ本体コンテンツ分割
-usernameおよびageデータを使用するために グループ化
実行ストアド・プロシージャ ビジネスロジックの実行
-要求データベース保存 HTTP応答メッセージの生成を開始
-HTTP開始線の作成
-ヘッドの作成
-メッセージボディにHTMLを作成し、 と入力します. TCP/IPに応答して、スロット を終了する.
サーブレットがない場合は、開発者は以上のすべての作業を実施する必要があります.TCP/IPソケット接続、URLの識別、コンテンツタイプのチェック、受信したデータ(メッセージ本体)をパケット化するなどを直接実行します.とても複雑です.また,データの送信と受信のたびに上記の手順を経なければならず,不要なコードが大量に生成される.上記の手順では、ビジネスロジックを実行することが本当に必要です.これがサーブレットです.
上記の一連のプロセス(TCP/IPソケット接続を直接実行したり、コンテンツタイプをチェックしたり、受信したデータ(メッセージ本体)をパケット化したりするなど)では、サーバ側が上記の操作を実行します.代わりに実行します.このサービスボードを使用すると、開発者は最も重要なビジネスロジックに集中するだけです.
次のコードはサーブレットを使用するコードです. URL Patterns(/hello)のURLを呼び出すと、HelloServiceのコードが実行されます. HTTPリクエスト情報は、(例ではクライアント->サーバに送信される値)HttpServertRequestによって管理される. HTTP応答情報は、(例ではサーバ->クライアントに送信される値)HttpServeretResponseによって提供される. サーブレットにより,開発者はHTTP Specをより便利に利用できる.
HttpServiceRequestインタフェースでは、HTTP servletの要求情報を管理するためにServiceRequestを継承しています.getParameterを使用して、クライアントからサーバへの値を表示する方法はいくつかあります.要求ヘッダ情報は、Enumerationに戻るgetHeadersを使用して知ることもできます.
HttpServeretResponseインタフェースを見てみましょう.HTTP応答を送信し、サーブレットResponseを継承します.HTTPヘッダとCookieにアクセスする方法.サーブレットコンテナにHttpサーブレットResponseオブジェクトを作成し、doGetやdoPostなどのサーブレットサービスメソッドに作成して転送します.
HTTPリクエストが発行されると、図に示すように、Webアプリケーションサーバ(Tomcat)は、新しいリクエストおよびレスポンスオブジェクトを作成し、Subletオブジェクト(例のHelloService)を呼び出す.開発者は,要求オブジェクトからHTTP要求情報を抽出して使用し,ビジネスロジックを実行し,応答オブジェクトにHTTP応答情報を入力することができる.WASは、応答対象のコンテンツに基づいてHTTP応答情報を生成し、その結果をクライアントに送信する.
例では、helloサーブレットのみが表示されますが、saveサーブレットやdeleteサーブレットなどの多くのサーブレットが後で追加される場合があります.これらのサーブレットを作成、呼び出し、管理する場所をサーブレットコンテナと呼びます.TomcatのようにサーブレットをサポートするWASをサーブレットコンテナと呼び、サーブレットオブジェクトの作成、初期化、呼び出し、終了のサーブレットライフサイクルを管理します.
また、テンプレートオブジェクトはモノクロ調で管理されます.お客様が要求するたびに、新しいhelloServiceletオブジェクトを作成し続けるのは非常に効果的ではありません.したがって、最初のスタートポイントで1つ以上のフラットパネルオブジェクトを事前に作成し、必要に応じて取り出して使用することができます.すべてのクライアントからの要求が同じサーブレットオブジェクトインスタンスにアクセスするため、共有変数は同じです.補助板はマルチスレッド処理同時要求をサポートするため、共有変数のSide Effectを使用することを防止することができる.
今日はサーブレットについてサーブレットは、HTTP通信時に開発者にとって便利なツールであり、HttpサーブレットRequest形式でリクエストを送信し、HttpサーブレットResponse形式で応答を送信する.次のレッスンでは、マルチスレッド処理とスレッドプールについて説明します.ありがとう!
[参考資料]
(インフラ)金永漢スプリングMVC 1編
開発の過程で多くのサーブレットが使用されていますが、サーブレットが何なのか、その役割が何なのかは分かりません.この機会に知りたいと思います.
1.入る前に
クライアントからサーバにデータを転送するHTMLフォームでは、サーブレットがサーバ上で果たす役割を見てみましょう.
✔HTML Formデータ送受信時
クライアント側では、次のように名前と年齢を受信できるフォームがあると仮定します.ユーザー名にkimを入力し、年齢に20を入力して「送信」ボタンをクリックすると、Webブラウザは右側に示すようにHTTPメッセージを生成します.データはフォーム形式であるため、HTTPメッセージの内容タイプはアプリケーション/x-www-form-unloadであり、データはusername=kim&age=20の形式で伝送される.
✔▼タブレットがない場合、サーバーに必要なこと
サーバは、上記のデータを受信し、次の操作を実行する必要があります.
-usernameおよびageデータを使用するために
実行
-要求データベース保存
-HTTP開始線の作成
-ヘッドの作成
-メッセージボディにHTMLを作成し、
サーブレットがない場合は、開発者は以上のすべての作業を実施する必要があります.TCP/IPソケット接続、URLの識別、コンテンツタイプのチェック、受信したデータ(メッセージ本体)をパケット化するなどを直接実行します.とても複雑です.また,データの送信と受信のたびに上記の手順を経なければならず,不要なコードが大量に生成される.上記の手順では、ビジネスロジックを実行することが本当に必要です.これがサーブレットです.
2.サーブレットとは?
上記の一連のプロセス(TCP/IPソケット接続を直接実行したり、コンテンツタイプをチェックしたり、受信したデータ(メッセージ本体)をパケット化したりするなど)では、サーバ側が上記の操作を実行します.代わりに実行します.このサービスボードを使用すると、開発者は最も重要なビジネスロジックに集中するだけです.
勘定科目の属性
次のコードはサーブレットを使用するコードです.
@WebServlet(name = "helloServlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) {
//비즈니스 로직
}
}
コードの説明
3. HttpServletRequest, HttpServletResponse
✔️ HttpServletRequest
HttpServiceRequestインタフェースでは、HTTP servletの要求情報を管理するためにServiceRequestを継承しています.getParameterを使用して、クライアントからサーバへの値を表示する方法はいくつかあります.要求ヘッダ情報は、Enumerationに戻るgetHeadersを使用して知ることもできます.
✔️ HttpServletResponse
HttpServeretResponseインタフェースを見てみましょう.HTTP応答を送信し、サーブレットResponseを継承します.HTTPヘッダとCookieにアクセスする方法.サーブレットコンテナにHttpサーブレットResponseオブジェクトを作成し、doGetやdoPostなどのサーブレットサービスメソッドに作成して転送します.
4.サーブレットの動作とサーブレット内容器
✔市市序板の動作原理
HTTPリクエストが発行されると、図に示すように、Webアプリケーションサーバ(Tomcat)は、新しいリクエストおよびレスポンスオブジェクトを作成し、Subletオブジェクト(例のHelloService)を呼び出す.開発者は,要求オブジェクトからHTTP要求情報を抽出して使用し,ビジネスロジックを実行し,応答オブジェクトにHTTP応答情報を入力することができる.WASは、応答対象のコンテンツに基づいてHTTP応答情報を生成し、その結果をクライアントに送信する.
✔市序板容器
例では、helloサーブレットのみが表示されますが、saveサーブレットやdeleteサーブレットなどの多くのサーブレットが後で追加される場合があります.これらのサーブレットを作成、呼び出し、管理する場所をサーブレットコンテナと呼びます.TomcatのようにサーブレットをサポートするWASをサーブレットコンテナと呼び、サーブレットオブジェクトの作成、初期化、呼び出し、終了のサーブレットライフサイクルを管理します.
また、テンプレートオブジェクトはモノクロ調で管理されます.お客様が要求するたびに、新しいhelloServiceletオブジェクトを作成し続けるのは非常に効果的ではありません.したがって、最初のスタートポイントで1つ以上のフラットパネルオブジェクトを事前に作成し、必要に応じて取り出して使用することができます.すべてのクライアントからの要求が同じサーブレットオブジェクトインスタンスにアクセスするため、共有変数は同じです.補助板はマルチスレッド処理同時要求をサポートするため、共有変数のSide Effectを使用することを防止することができる.
5.クリーンアップ:サーブレットの役割
今日はサーブレットについてサーブレットは、HTTP通信時に開発者にとって便利なツールであり、HttpサーブレットRequest形式でリクエストを送信し、HttpサーブレットResponse形式で応答を送信する.次のレッスンでは、マルチスレッド処理とスレッドプールについて説明します.ありがとう!
[参考資料]
(インフラ)金永漢スプリングMVC 1編
Reference
この問題について(「Spring」サーブレットとは?サーブレット、サーブレット内コンテナの理解), 我々は、より多くの情報をここで見つけました https://velog.io/@fantastik/64テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol