【问题标题】:Deploying servlets webapp in embedded undertow在嵌入式 undertow 中部署 servlet webapp
【发布时间】:2014-04-14 00:05:23
【问题描述】:

是否有任何简单的方法来部署嵌入 undertow 的 servlets Web 应用程序?

例如,使用码头,我可以这样部署:

    Server server = new Server(8080);
    WebAppContext context = new WebAppContext();
    context.setContextPath("/");
    context.setDescriptor("src/main/webapp/web.xml");
    context.setResourceBase("src/main/webapp/");
    server.setHandler(context);
    server.start();

是否有类似的方法来使用undertow?我在这里看到了一个示例:https://github.com/undertow-io/undertow/blob/master/examples/src/main/java/io/undertow/examples/servlet/ServletServer.java,但这并不是我想要的,它会一个一个地注册 servlet...

【问题讨论】:

    标签: java jboss undertow


    【解决方案1】:

    暂时没有。

    Undertow 只是提供了一个构建器 API,另一个应用程序可以使用它来构建一个 Servlet。这是一个深思熟虑的设计选择,因为它使嵌入应用程序可以完全控制部署。

    我们最终可能会在不同的模块中添加对此的支持(很可能通过从 Wildfly 中提取相关代码),但目前它在优先级列表中并不高。

    【讨论】:

    • 谢谢!你能指出来自wildfly的引导Web应用程序的代码吗?我找到了这个class,但我认为这不是正确的课程,或者我根本无法理解:D
    • 您确实找到了正确的课程。大部分工作都发生在 UndertowDeploymentProcessor 和 github.com/wildfly/wildfly/blob/master/undertow/src/main/java/… 中,您还应该考虑到描述符(web.xml 和朋友)解析是由 jboss 元数据项目 github.com/jboss/metadata
    • 关于支持标准战争文件部署的任何更新,即作为 Tomcat 的替代品(仅 Tomcat 功能)?
    【解决方案2】:

    我认为新的 wildfly swarm 项目为此提供了一个很好的解决方法,因为您可以部署任何 web 应用程序,只需使用从 wildfly 挑选的 undertow 模块并打包在一个胖 jar 中。一个很好的例子在这里:https://github.com/wildfly-swarm/wildfly-swarm-examples/tree/master/servlet

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-06
      • 2011-06-29
      • 2013-06-05
      • 2016-10-24
      • 2021-11-29
      • 2016-02-15
      • 2012-06-24
      • 2018-10-28
      相关资源
      最近更新 更多