问题:在嵌入式Jetty中托管Spring Web服务。
这需要适用于单元测试和prod环境。应用程序打包在一个jar中,入口点启动除Jetty之外的其他服务。在WEB-INF上使用WAR文件/ setwar / WebApplicationContext不是一个选项,因为包是jar。
答案 0 :(得分:0)
Server jettyServer = new Server(8080);
DispatcherServlet springServlet = new DispatcherServlet();
springServlet.setContextConfigLocation("classpath:spring-servlet.xml");
final ServletContextHandler contextHandler = new
ServletContextHandler(ServletContextHandler.SESSIONS);
contextHandler.setContextPath("/");
contextHandler.addServlet(new ServletHolder(springServlet), "/*");
jettyServer.setHandler(contextHandler);
contextHandler.getInitParams().put("contextConfigLocation", "classpath:applicationContext.xml");
ContextLoaderListener listener = new ContextLoaderListener();
contextHandler.addEventListener(listener);
jettyServer.start();
jettyServer.join();