ホームページ >php教程 >PHP开发 >サーブレットの概要

サーブレットの概要

高洛峰
高洛峰オリジナル
2016-12-01 13:20:411622ブラウズ

サーブレットの概要

1. サーブレットは、サーバー側でユーザーのリクエストを処理する責任があります。クライアントがサーバーにリクエストを送信すると、サーバーは web.xml 設定ファイルを通じて対応するサーブレットを見つけてリクエストを処理します。サーブレットは URL にバインドする必要があり、ユーザーは URL にアクセスすることでサーブレットにアクセスします。



2. サーブレットを実装する 3 つの方法

Java.servlet.Servlet クラス

Java.servlet.GenericServlet クラス


3.サーブインレットインターフェイスメソッド

//初期化

void init (ServletConfig config)

void service (ServletRequestリクエスト、ServletResponseレスポンス)

//Destruction

void destroy()


String getServletInfo()

サーブレット構成 getServletConfig ( )

クライアントがリクエストを送信すると、サーバーは URL を通じて対応するサーブレットを見つけます。サーブレット オブジェクトが存在しない場合、サーバーはサーブレット オブジェクトを作成します。

オブジェクトの作成後、サーバーはすぐに init (ServletConfig) を呼び出します。 config) を実行して初期化作業を完了すると、サーバーはサーブレットのサービス (ServletRequest req、ServletResponse res) メソッドを呼び出して、それにパラメーターのリクエストと応答を渡す必要があります。

クライアントがこのサーブレットに再度アクセスすると、サーブレット オブジェクトは既に存在するため、サーブレット オブジェクトは作成されません。サーブレットはシングルトンです。

(注: シングルトン パターンは、一般的に使用されるソフトウェア設計パターンです。そのコア構造には、シングルトン クラスと呼ばれる特別なクラスのみが含まれます。シングルトン パターンは、システム内にクラスのインスタンスが 1 つだけ存在することを保証でき、このインスタンスは外部から簡単にアクセスできるため、インスタンス数の制御が容易になり、システム リソースを節約できます。システム内に特定のクラスのオブジェクトを 1 つだけ存在させたい場合は、シングルトン モードが最適なソリューションです)

サーブレット オブジェクトを破棄するときは、最初に destroy() が呼び出され、いくつかのリソースの解放が完了します。その後、オブジェクトが破棄されます

。 <サーブレットクラス>

cn.edu.aynu.rjxy.servlet.HelloWorldServlet

<サーブレットマッピング>

<サーブレット名>

HelloWorldServlet

/helloWorld

構成ユーザーがアクセスすると、対応するサーブレットが見つかり、リクエストの処理が完了します。

5.ServletConfig: init() メソッドのパラメーター。サーブレット構成オブジェクトとそれに対応するサーブレット構成情報を表します。

実際、構成情報は web.xml ファイル内の 要素です。

;/ servlet-class>

ServletConfig オブジェクトはサーバーによって作成され、サーバーが init() メソッドを呼び出すと、実際のオブジェクトとしてメソッド init() に渡されます。パラメータを使用して init() メソッドを使用できます。

(1) String getInitParameter(String name): web.xml に設定された初期化パラメータを取得し、パラメータ名を通じてパラメータ値を取得するために使用されます。

(2) 列挙体 getInitParameterNames(): web.xml に設定されているすべての初期化パラメータ名を取得するために使用されます。

(3) ServletContext getServletContext(): ServletContext オブジェクトを返すために使用されます

(4) String getServletName(): web.xml で構成されたサーブレットの名前、つまり < で指定された名前を返すために使用されます。サーブレット名> 要素

;init -param>

,, すぐに初期化を完了します

school=aysfxy

major=java

class1=2

school=aysf xy

class1=2

major=java

school=aysfxy

major=java

class1=2

school=aysfxy

class1=2

major=java

6. 汎用サーブレット: javax.servlet.Servlet インターフェースを実装する抽象クラスです。このクラスを継承することで Servlet も実装できます。

クラス内の getServletContext()、getInitParameter() およびその他のメソッドは直接使用できます。初期化パラメーターの作業を行う場合は、

メソッド init (ServletConfig config) をオーバーライドするのではなく、メソッド init() をオーバーライドします。 )

HttpServlet: Http プロトコル リクエストを処理するために特別に使用されるサーブレット クラスです。HttpServlet を継承することでサーブレットを実装できます。これは、クライアントによって送信されたリクエストのみであるため、将来これを行う予定です。 get と post なので、この 2 つのメソッドを書き直すだけで済みます。


7.HttpServlet: Http プロトコルリクエストを処理するために特別に使用されるサーブレットクラスです。HttpServlet を継承することでサーブレットを実装できます

これが最も簡単な方法です。クライアントには次のようなものがあるためです。リクエストを送信するメソッドは get と post の 2 つだけなので、これら 2 つのメソッドを書き直すだけで済みます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。