【问题标题】:Servlets and static content with JRuby embedded jetty带有 JRuby 嵌入式码头的 Servlet 和静态内容
【发布时间】:2010-11-03 22:47:20
【问题描述】:

我想使用 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,因为这似乎使并行服务成为可能。如果有任何提示可以解决此问题,我将不胜感激。

【问题讨论】:

    标签: web-services servlets jetty jruby


    【解决方案1】:

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

    【讨论】:

    • 太棒了!这行得通!它不需要码头的 DefaultServlet,但可以与 HttpServlet 配合使用。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2012-05-30
    • 2020-02-02
    • 2014-12-25
    相关资源
    最近更新 更多