我有一个预先存在的Java应用程序,我想使用Vaadin公开一个Web UI。我正在使用Maven进行依赖管理。
Vaadin文档建议使用war文件布局,但我不想将我的代码库重新排列为标准War格式。
有没有办法可以通过编程方式启动Jetty服务器并让它来提供servlet,而不必担心war目录结构?
显示如何从main()方法提供servlet的一些示例代码在这里非常有用。
或者,如果除了Jetty之外的其他东西在这里工作得更好,那就太好了。
答案 0 :(得分:2)
使用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();
请注意,这是基于jetty 8.1.8。上面的代码不使用Servlet,但很容易将它连接到你想要的任何框架。
如果你真的需要一个servlet(也许你已经准备好了),请使用Jetty的ServletContextHandler类而不是你自己的处理程序。