我正在开发一个新项目,该项目将是一个具有前端 UI 和后端 Web 服务的 Web 应用程序。我开始研究要使用哪些服务器,例如 Tomcat / Jetty 等等。我还注意到这些 HTTP 服务器有一个嵌入式版本。我不明白何时将嵌入式版本用于独立版本。我尝试使用谷歌搜索,但找不到令人信服的答案,如果有人向我解释嵌入式服务器的用例,我将不胜感激。提前致谢。
问问题
13537 次
2 回答
20
当您将应用程序视为操作系统进程时,嵌入式服务器很有用,它将以java -jar youapp.jar
. 在这种情况下,无需预先使用给定的应用服务器(例如 Tomcat)设置盒子。此类应用程序可以由最终用户运行,而无需额外安装和配置应用程序服务器。
例如,像 Jenkins 这样的应用程序从这种封装中受益匪浅。另一种情况是在 Heroku 等云服务上部署时。您将应用程序服务器包装在您的 jar 中,就无需将服务器安装在此类云盒上。
这里本质上是一个 Web 应用程序在给定的嵌入式服务器上运行。但是,如果您希望在两个上下文中安装两个 Web 应用程序,${root}/app1
${root}/app2
那么嵌入式应用程序服务器对您来说不是一个好的选择。
于 2014-07-09T18:42:30.863 回答
14
我已经用于embedded-jetty
网络应用程序。我使用的原因是我不想为一个应用程序设置单独的 Web 服务器。所以我做了一个简单的java程序,在里面嵌入了jetty,并通过java代码配置了所有的服务器属性。现在我可以在任何没有安装 Web 服务器的机器上运行这个程序,它将充当在服务器中运行的 Web 应用程序。我可以关联任何端口并在其中编写多对多上下文/servlet 映射。
于 2013-12-23T06:04:25.860 回答