Servlet 容器中的 Java Web 应用程序与独立应用程序
构建一个小型Java Web应用程序以在Servlet容器(如Tomcat)中运行,与构建一个具有内置Web服务器的独立Java应用程序并在反向代理后面运行相比,有什么优势?
我已经使用Java大约一年了。我注意到启动Tomcat需要时间,并且由于类加载器问题,并不总是能够进行热重新部署。Servlet API对我来说似乎有些复杂,特别是从配置和RESTful设计的角度来看(它并不完全支持)。
另一方面,我注意到我的IDE可以以闪电般的速度编译和运行独立应用程序。为反向代理配置Apache是小菜一碟,嵌入式Jetty似乎可以处理我能扔给它的任何东西。当我可以使用Reslet,Wicket等时,我不需要Servlets。能够更好地了解我的应用程序是如何工作的(因为它没有与庞大的应用程序服务器集成)感觉很有力量。堆栈跟踪更短。下载大小较小。最终用户配置更容易。我猜性能可能会更好,因为涉及的软件层更少。
然而,我想起了一句话,通常听起来好得令人难以置信的东西。所以我的问题是,为什么我不想让我的Web应用程序独立?Servlet 容器为我和/或我的最终用户提供了我们真正需要但不知道的什么?