superclass=Object
type=class
library=webrick.httpservlet.abstract
extended=
included=

サーブレットの抽象クラスです。実装は AbstractServlet のサブクラスで行います。

サーブレットは以下のように使われます。[[c:WEBrick::HTTPServlet::CGIHandler]] は
[[lib:webrick/httpservlet/cgihandler]] で提供されているサーブレットです。
CGIHandler は AbstractServlet のサブクラスです。

 require 'webrick'
 srv = WEBrick::HTTPServer.new({ :DocumentRoot => './',
                                 :BindAddress => '127.0.0.1',
                                 :Port => 20080})
 srv.mount('/view.cgi', WEBrick::HTTPServlet::CGIHandler, 'view.rb')
 trap("INT"){ srv.shutdown }
 srv.start

上のスクリプトでは以下のような流れで view.rb は実行されます。

 (1) サーバのパス /view.cgi と CGIHandler がマウントにより結びつけられます。
 (2) パス /view.cgi にアクセスがあるたびにサーバ(WEBrick::HTTPServer オブジェクト)は 'view.rb' 
     を引数として CGIHandler オブジェクトを生成します。
 (3) サーバはリクエストオブジェクトを引数として CGIHandler#service メソッドを呼びます。
 (4) CGIHandler オブジェクトは view.rb を CGI スクリプトとして実行します。

このように [[c:WEBrick]] では Web サーバの機能の大部分がサーブレットの形で提供されています。
またサーブレットを作成することにより新たな機能を Web サーバに追加することもできます。
