Gotokenさん、咳さん、ありがとうございます。
早速試してみます。
--- m_seki@mva.biglobe.ne.jp からのメッセージ:
>
>
> 咳です。眠いぃ。
>
> > > 画像が表示されません。
> > > また、javascriptファイルも読み込まれません。
> > > リンクも、
> > > <A
> HREF="http://localhost:6613/link.html">link</A>
> > > のように絶対パスで指定すれば遷移できますが、
> > > 相対パスだと遷移できません。
> >
> > TofuSession は FileHandler
> のサブクラスではないから検索しな
> > いというのが理由です。
> >
> > 要するに「ある path prefix
> 以下をセッション管理したい」とい
> >
> うことですね。どう書くのがスマートなんだろ。咳さーん
>
> いろいろ試したのですが、みんな大変でイマイチです。
>
> もっとシンプルにこんな風にしてみました。
> FileHandlerをもう一つ登録してます。
>
> /hello/がDivのページ、/hello/f/*
> が静的なページです。
> view.erbからは "f/ファイル名"
> でファイルにアクセスできます。
>
>
> http://hostname/hello/foo.html が foo.html
> を返したいのか、
> それとも/foo.htmlという情報を元に動的なページを返した
いのか、
> アプリケーションによって違うので、一般的な解はないよう
に思います。
>
>
> 私がDivから静的なファイルを参照する時は、相対パスは使
わないかも。
>
>
>
> # server.rb
> require 'webrick';
> include WEBrick;
> require 'tofu/tofulet';
> require 'servlet';
> require 'getopts'
>
> logger = Log::new($stderr, Log::DEBUG);
> dir = File::dirname(File::expand_path(__FILE__));
>
> s = HTTPServer.new(:Port => 6613,
> :AddressFamily => Socket::AF_INET,
> :BindAddress => ENV['HOSTNAME'],
> :Logger => logger,
> :DocumentRoot => $OPT_r || dir);
>
> s.mount("/hello/f/", HTTPServlet::FileHandler, dir +
> '/hello/', nil);
>
> bartender = Tofu::Bartender.new(HelloServlet);
> s.mount("/hello/", Tofulet, bartender);
>
> trap("INT"){ s.shutdown }
> s.start;
>
>
>
> # view.erb
> <html>
> <head>
> <title>WEBrick Div Test</title>
> <LINK href="master.css" rel="stylesheet"
> type="text/css">
> <SCRIPT language="JavaScript"
> SRC="f/master.js"></SCRIPT>
> </head>
> <body>
> <h1>Hello World!!</h1>
> <IMG src="f/test.jpg" onclick="func();">
> <A HREF="f/link.html">link</A>
> </body>
> </html>
>
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo! http://bb.yahoo.co.jp/