Javaサーブレットを理解するために多くの記事を読みましたが、成功しませんでした。
Javaサーブレットの簡単な紹介を(簡単な言語で)お願いします。サーブレットとは何ですか?アドバンテージとは何ですか?そして、すべて。
サーバー側のプログラミング言語(PHP、ASP)とサーブレットの違いを理解できません。
サーブレットは、特定のタイプのネットワーク要求(最も一般的にはHTTP要求)に応答する単なるクラスです。基本的に、サーブレットは通常、Webアプリケーションの実装に使用されますが、サーブレット(たとえばStruts)上で動作するさまざまなフレームワークもあり、「ここにHTTPリクエスト、このHTTPレスポンスに書き込む」レベルよりも高い抽象度を与えます提供します。
サーブレットは、サーブレットコンテナで実行されます。このコンテナは、ネットワーク側を処理します(たとえば、HTTPリクエストの解析、接続処理など)最も有名なオープンソースサーブレットコンテナの1つは、 Tomcat です。
サーブレットの中核はJavaクラスです。 HTTPリクエストを処理できます。一般的に、HTTPリクエストとレスポンスをネットワーク経由で読み取る内部の要点は、Tomcatのようなコンテナによって処理されます。これは、サーバー側の開発者として、HTTP要求と応答の処理に集中でき、ネットワークなどを処理するコードの処理に煩わされることがないようにするためです。コンテナは、 HTTP応答オブジェクトをクライアント(ブラウザなど)に送信します。
次の論理的な質問は、コンテナが何をすべきかを誰が決めるかということです。そして答えは次のとおりです。少なくともJavaの世界では、仕様によってガイドされています(Wordで制御されることに注意してください)。たとえば、サーブレットの仕様(リソース2を参照)は、サーブレットができることを規定しています。したがって、仕様の実装を作成できる場合は、コンテナを作成したばかりです(技術的にはTomcatのようなコンテナは他の仕様も実装し、カスタムクラスローダーなどのトリッキーな処理を行いますが、アイデアは得られます)。
コンテナがあるとすると、サーブレットはJavaクラスになり、そのライフサイクルはコンテナによって維持されますが、着信HTTPリクエストに対する反応はユーザーが決定します。これを行うには、init()、doGet()、doPost()などの事前定義されたメソッドでやりたいことを記述します。リソース3を見てください。
ここにあなたのための楽しい運動があります。リソース3のような単純なサーブレットを作成し、そのコンストラクターメソッドにいくつかのSystem.out.println()ステートメントを記述します(はい、サーブレットのコンストラクターを持つことができます)、init()、doGet()、doPost()メソッドを実行しますTomcatのサーブレット。コンソールログとTomcatログを参照してください。
これがお役に立てば幸いです。
リソース
上記に加えて、明らかなブリードインを指摘するために...
多くの人にとってこれは非常に明白ですが、実行して終了するだけのアプリを作成するのに慣れている人にとっては、サーブレットはほとんど何もせずにぶらぶらしています...何かを送信するのを待ってから、リクエストに応答します。このため、サーブレットには有効期間があります。つまり、サーブレットは初期化されてから待機し、スローされたものに応答して破棄されます。これは、他の何か(フレームワーク)によって作成(および後で破棄)する必要があること、独自のスレッドまたはプロセスで実行すること、および要求されない限り何もしないことを意味します。また、何らかの方法で、この「エンティティ」がリクエストを「リッスン」できるメカニズムを実装する必要があります。
スレッド、プロセス、およびソケットについて読むことで、これにいくらかの光を当てることをお勧めします。これは、基本的な「hello world」アプリの機能とはまったく異なります。
「サーバー」または「サーブレット」という用語はちょっとやり過ぎだと主張できます。より合理的でシンプルな名前は「レスポンダー」かもしれません。
あなたが初心者であれば、このチュートリアルはサーブレットとは...についての基本的なアイデアを与えると思います
いくつかの貴重なポイントが特定のリンクから下にあります。
サーブレット技術は、サーバー側に存在し、動的なWebページを生成するWebアプリケーションを作成するために使用されます。
サーブレットは、コンテキストに応じてさまざまな方法で記述できます。
サーブレットは、Webアプリケーションで動的Webページを作成するために使用されるサーバー側テクノロジーです。実際、サーブレットは、いくつかの機能を備えたクラスとインターフェースのグループで構成されるAPIです。サーブレットAPIを使用する場合、サーブレットクラスとインターフェイスの定義済み機能を使用できます。
サーブレットのライフサイクル:
Webコンテナは、サーブレットインスタンスのライフサイクルを維持します。
1。読み込まれたサーブレットクラス
2。作成されたサーブレットインスタンス
。init()メソッドが呼び出されます
4。service()メソッドの呼び出し
5。destroy()メソッドの呼び出し
Client(browser)によってリクエストが発生すると、Webコンテナはサーブレットが実行されているかどうかを確認し、実行されている場合はservice()メソッドを呼び出してブラウザに応答を返します。
サーブレットが実行されていない場合、Webコンテナは次の手順に従います。
1。クラスローダーがサーブレットクラスをロードする
2。サーブレットをインスタンス化します
。サーブレットを初期化する
4。service()メソッドを呼び出す
リクエストWebコンテナにサービスを提供した後、特定の時間待機します。今回は、リクエストが来たらservice()メソッドのみを呼び出し、そうでない場合はdestroy()メソッドを呼び出します。
Javaサーブレットは、顧客の要求を処理して回答し、サーブレットインターフェースを実現するサーバー側のJavaプログラムモジュールです。無視できるオーバーヘッド、維持、サポートでWebサーバーの有用性を向上させるのに役立ちます。
サーブレットは、顧客とサーバー間の仲介役として機能します。サーブレットモジュールはサーバー上で実行され続けるため、顧客からの要求を取得して対応できます。サーブレットのデマンドオブジェクトとリアクションオブジェクトは、HTTPの要求を処理し、コンテンツ情報を顧客に送信するための便利な方法を提供します。
サーブレットはJavaダイアレクトと調整されるため、たとえば、高い可動性、ステージの自律性、セキュリティ、Javaデータベースの可用性など、すべてのJavaの特長があります。
サーブレットとは何ですか?
サーブレットは、ネットワーク側を処理するサーブレットコンテナで実行されます(HTTPリクエストの解析、接続処理など)。最も有名なオープンソースサーブレットコンテナの1つはTomcatです。
要求/応答パラダイムでは、Webサーバーは静的なページのみをクライアントに提供できます
リクエストの流れ
コンテナはどのサーブレットクライアントがリクエストしたかをどのように知るのですか?
このファイルにはサーブレットに関する情報があります-
Webアプリのすべてのサーブレットには、このファイルへのエントリが必要です。
サーブレットを「インストール」する方法は?*さて、サーブレットオブジェクトはライブラリjavax.servlet。*から継承されます。 TomcatとSpringを使用して、これらのオブジェクトを使用してユースケースに適合させることができます。
Ref-これを1.5xで見る https://www.youtube.com/watch?v=tkFRGdUgCsE これには素晴らしい説明があります。
サーブレットは、HTTPリクエストに応答してHTTPレスポンスを生成するJavaクラスです...... HTMLを使用してページを作成すると、静的ページになるため、動的にするにはSERVLETを使用します{簡単な言葉で}.
サーブレットは、WebサイトのユーザーがサーバーにURLを要求したときに特定の機能を実行するJavaクラスです。これらの関数は、データをデータベースに保存する、ロジックを実行する、ページの読み込みに必要な情報(JSONデータなど)を返すなどのタスクを完了できます。
ほとんどのJavaプログラムは、プログラムの実行時にコードを実行するmain()
メソッドを使用します。 Javaサーブレットには、doGet()
メソッドと同様に動作するdoPost()
およびmain()
メソッドが含まれています。これらの関数は、ユーザーがそのサーブレットにマップされたURLに対してGET
またはPOST
リクエストを行うと実行されます。そのため、ユーザーはGET
リクエストのページをロードしたり、POST
リクエストのデータを保存したりできます。
ユーザーがGET
またはPOST
要求を送信すると、サーバーはディレクトリ内の各サーブレットクラスの先頭にある@WebServlet
を読み取り、呼び出すサーブレットクラスを決定します。たとえば、ChatBoxクラスがあり、上部にこれがあるとします。
@WebServlet("/chat")
public class ChatBox extends HttpServlet {
ユーザーが/chat
URLを要求すると、ChatBox
クラスが実行されます。
この記事 で説明しているように、サーブレットはJavaサーバーを拡張し、その機能にアクセスする標準的な方法です。
各サーブレットは、セッションのような他のコンテキストデータとともに、Javaコードでモデル化された要求と応答にアクセスする小さなサーバー(名前の由来)と見なすことができます。
これらを手に入れると、サーブレットのJavaコードは、HTMLビューを生成するためのJSPページへの引き渡しなど、応答をレンダリングするために必要なものとインターフェースできます。