0

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

4

1 回答 1

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();
于 2012-08-12T00:17:35.480 回答