6

GenericServlet はプロトコルに依存せず、抽象クラスであることを理解しています。私の質問は、いつ誰かが GenericServlet を使用することを選択したかということです。GenericServlet を使用する特定の例を知っていますか?

私は常に、サーブレットを HTTP プロトコルとその応答および要求と関連付けてきました。HTTP 以外のプロトコルでサーブレットがどのように役立つのか、私には思いつきません。ありえないというわけではありません。他のプロトコルで使用されるオプションは、過去には使用されていなかった可能性があり、もう必要ありません。あるいは、私の知識が足りないのかもしれません。

4

2 に答える 2

9

あなたの質問に対する簡単な答えは、「まったくありません。実質的に言えば」です。

長い答えは、それGenericServletは抽象的な (インスタンス化できない) プロトコルに依存しないサーブレットであり、Web などのネットワークを介してアクセスできるエンドポイントです。GenericServletいくつかの基本的なライフサイクル管理を提供しますが、何かを有効にするには拡張する必要があります。

HttpServletGenericServletは、ヘッダー、チャンク、Co​​okie などの HTTP プロトコルの低レベルの詳細の多くを処理する の実装です。実際問題として、これは誰もが気にかけている唯一の実装です。

理論的にはGenericServlet、FTP や SMTP などの別のプロトコルを実装するように拡張することは可能だと思いますが、なぜ気にする必要があるのでしょうか?

それが役立つことを願っています。

于 2013-10-08T18:11:16.397 に答える
1

GenericServlet は、10 個の HTTP プロトコル リクエストをすべて実装しているわけではありません (get post put delete head trace connect オプションなど)。したがって、GenericServlet を拡張すると、すべてのリクエストで service() メソッドが呼び出されます。この HttpServlet のソリューションとしてそれらを実装しているため、受信した要求に応じて異なるアクションを実行できます。

于 2016-12-19T06:04:26.943 に答える