Index: [Article Count Order] [Thread]

Date: Tue, 24 Sep 2002 07:48:31 +0900 (JST)
From: m_seki@mva.biglobe.ne.jp
Subject: [webrickja:66] Re: サーブレットの引数
Sender: Masatoshi SEKI <seki@mr.nasu.toshiba.co.jp>
To: webrickja@notwork.org
Message-Id: <20020924074831Z.seki@mr.nasu.toshiba.co.jp>
In-Reply-To: <20020921060849.4493.qmail@web306.mail.yahoo.co.jp>
References: <20020921060849.4493.qmail@web306.mail.yahoo.co.jp>
X-Mail-Count: 00066


咳です。

> 基本的なことだと思うんですが、わからなかったので、質問し
> ます。
> 同じサーバーに、同じサーブレットを2つ、別のURLでマウン
> トして、その動作を変えたいです。
> でも下のようにすると、/helloも/byeも同じ動作になってしま
> うと思います。
> 
> s = HTTPServer.new(:Port => 2000,
> 		   :AddressFamily =>Socket::AF_INET,
> 		   :Logger => logger);
> 
> bartender = Tofu::Bartender.new(HelloServlet);
> s.mount("/hello", Tofulet, bartender);
> s.mount("/bye", Tofulet, bartender);
> 
> なので、なんとかしてサーブレットに情報を渡して、サーブレ
> ット側でその情報を取得したいのですが、方法がわかりません
> 。教えてください。


"/hello"として呼ばれたのか"/bye"として呼ばれたのかが
わかればよいのなら、do_GETの引数に req_script_name を
聞くとわかります。たぶん…。

class HelloServlet
  def do_GET(context)
    p context.req_script_name
    ....
  end
end