1

JRuby に埋め込まれた jetty を使用して、サーブレットと静的コンテンツを提供したいと考えています。私はこれを試しました:

server = Server.new(8080)
context = Context.new(server, '/', 0)

context_static = Context.new(server, '/static', 0)
context_static.setHandler(ResourceHandler.new)
context_static.setResourceBase('./')
context_static.setContextPath('/static')

servlet = Servlet.new()
holder = ServletHolder.new(servlet)
context.addServlet(holder, '/')
server.start()

問題は、http://localhost:8080/staticが期待どおりに機能せず、静的コンテンツではなく、サーブレットによって作成されたコンテンツも表示することです。

サーブレットについて: 最初は javax.servlet.http.HttpServlet を使用していましたが、並列処理が可能と思われる org.mortbay.jetty.servlet.DefaultServlet に切り替えました。この問題を解決するためのヒントがあれば幸いです。

4

1 に答える 1

2

context_static前に初期化してみてくださいcontext(コンストラクターはサーバー引数を取るため、インスタンス化の順序がコンテキストのチェーン順序に影響すると思います)。(Jetty 6とClojureを使用して試してみました。)

于 2009-06-18T10:15:12.283 に答える