1

我想使用 JRuby 中嵌入的码头来提供 servlet 和静态内容。我试过这个:

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不能作为 exepecte 工作,而且还显示 servlet 创建的内容而不是静态内容。

关于 servlet:我首先使用 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 回答