2012-08-12 62 views
0

问题:在嵌入式Jetty中托管弹簧web服务。
这需要适用于单元测试和产品环境。应用程序打包在一个jar中,入口点启动除Jetty之外的其他服务。在WEB-INF上使用WAR文件/ setwar/WebApplicationContext不是一个选项,因为包是jar。在嵌入式码头中托管弹簧web服务

回答

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(); 
+0

AFAIK,这不会给你很多SpringMVC使用的JSP支持。 – Jason 2012-11-22 23:52:00