我想在JRuby中嵌入jetty来提供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,因为它似乎可以使并行服务成为可能。我会很高兴有任何提示来解决这个问题。

有帮助吗?

解决方案

尝试在 context 之前初始化 context_static (因为构造函数采用服务器参数,我假设实例化的顺序会影响上下文的链接顺序)。 (尝试使用Jetty 6和Clojure。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top