Servlet e contenuto statico con pontile incorporato JRuby
-
06-07-2019 - |
Domanda
Vorrei servire servlet e contenuti statici con pontile incorporato in JRuby. Ho provato questo:
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()
Il problema è che http: // localhost: 8080 / static non funziona come exepecte ma anche mostra il contenuto creato dal servlet e non il contenuto statico.
Riguardo al servlet: ho usato prima javax.servlet.http.HttpServlet ma poi sono passato a org.mortbay.jetty.servlet.DefaultServlet in quanto quello sembra rendere possibile il servizio parallelo. Sarei grato per qualsiasi suggerimento per risolvere questo problema.
Soluzione
Prova a inizializzare context_static
prima di context
(poiché i costruttori accettano un argomento server, presumo che l'ordine di istanza influisca sull'ordine di concatenamento dei contesti). (Ho provato usando Jetty 6 e Clojure.)