Java 如何使用Jetty为servlet提供服务而不必担心War文件布局?

Java 如何使用Jetty为servlet提供服务而不必担心War文件布局?,java,maven,servlets,jetty,vaadin,Java,Maven,Servlets,Jetty,Vaadin,我有一个预先存在的Java应用程序,我想使用Vaadin公开一个web UI。我使用Maven进行依赖关系管理 Vaadin文档建议使用war文件布局,但我不想将代码库重新排列为标准war格式 有没有一种方法可以让我以编程方式启动Jetty服务器并让它为servlet服务,而不必担心war目录结构 这里的一些示例代码显示了如何从main()方法提供servlet,这将非常有用 或者,如果Jetty以外的东西在这里工作得更好,那么最好知道。使用Jetty设置一个简单的HTTP服务器非常简单: fi

我有一个预先存在的Java应用程序,我想使用Vaadin公开一个web UI。我使用Maven进行依赖关系管理

Vaadin文档建议使用war文件布局,但我不想将代码库重新排列为标准war格式

有没有一种方法可以让我以编程方式启动Jetty服务器并让它为servlet服务,而不必担心war目录结构

这里的一些示例代码显示了如何从main()方法提供servlet,这将非常有用


或者,如果Jetty以外的东西在这里工作得更好,那么最好知道。

使用Jetty设置一个简单的HTTP服务器非常简单:

final Server httpServer = new Server(18080);
httpServer.setHandler(new AbstractHandler() {

    @Override
    public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
                response.getWriter().write("This is the HTTP response");            
    }
});
httpServer.start();
请注意,这是基于码头8.1.8。上面的代码不使用servlet,但将其连接到您想要的任何框架都非常容易


如果你真的需要一个servlet(也许你已经准备好了),使用Jetty的类而不是你自己的处理程序。

你检查过Spring Boot吗?Spring在这方面似乎很重要。这只是预先存在的应用程序的一个小组件。