2009-06-18 9 views
1

Je souhaite servir des servlets et du contenu statique avec jetée intégrée dans JRuby. J'ai essayé ceci:Servlets et contenu statique avec jetée intégrée JRuby

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

Le problème est que le http://localhost:8080/static ne fonctionne pas comme exepecte mais montre aussi le contenu créé par le servlet et non le contenu statique.

En ce qui concerne la servlet: J'ai d'abord utilisé javax.servlet.http.HttpServlet, puis je suis passé à org.mortbay.jetty.servlet.DefaultServlet car celui-ci semble rendre possible la desserte parallèle. Je serais reconnaissant pour tous les conseils pour résoudre ce problème. (

Répondre

2

Essayez d'initialiser context_static avant context (puisque les constructeurs prennent un argument serveur, je suppose que l'ordre d'instanciation affecte l'ordre de chaînage des contextes). (Essayé en utilisant Jetty 6 et Clojure.)

+0

Great! Cela marche! Et il n'a pas besoin de DefaultServlet de jetty mais fonctionne bien avec HttpServlet. Merci beaucoup! – konrad

Questions connexes