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.

È stato utile?

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.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top