Déploiement d'une servlet par programme avec Jetty

J'ai une servlet qui je souhaite déployer par programmation à l'aide de la Jetée. La servlet utilise le Printemps et c'est web.xml points pour le Printemps contexte fichier XML que vous attendez.

Pour le moment, j'essaie juste l'exemple de code à partir de la Jetée de docs, mais avec mon propre servlet:

Server server = new Server(8080);

ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
server.setHandler(context);

context.addServlet(new ServletHolder(new BatchReceiver()),"/br/*");

server.start();
server.join();

Il en résulte l'exception suivante:

2012-05-24 14:43:20.190:INFO:oejs.Server:jetty-8.1.3.v20120416
2012-05-24 14:43:20.266:WARN:/:unavailable
java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered?
at org.springframework.web.context.support.WebApplicationContextUtils.getRequiredWebApplicationContext(WebApplicationContextUtils.java:84)
at com.spiffymap.sealog.server.servlet.BatchReceiver.init(BatchReceiver.java:126)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:492)
at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:312)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:778)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:258)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:699)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90)
at org.eclipse.jetty.server.Server.doStart(Server.java:262)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59)
at com.spiffymap.sealog.server.servlet.TestBatchReceiver.main(TestBatchReceiver.java:26)
2012-05-24 14:43:20.335:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:8080

Comment puis-je configurer ma servlet, de sorte que la Jetée sait où il est web.xml et le Printemps contexte?

Toute aide serait vraiment appréciée!

MODIFIER

Apparemment donc, je n'ai pas besoin d'un web.xml mais je ne besoin de pointer la Jetée de mon Ressort du contexte. J'ai essayé quelque chose comme ce qui suit:

context.setInitParameter("contextConfigLocation", "classpath*:**/*Context.xml");

Mais il ne fonctionne pas (encore produit les mêmes exception). J'ai aussi essayé le "contextConfigLocation" sur le ServletHolder en vain.

source d'informationauteur DeadPassive