tomcat - 谁能解释一下什么时候出戏!应用程序部署为 war 文件?

标签 tomcat deployment playframework servlet-container

Play framework不支持 servlet 规范,但其中有 deployment options可以将整个应用程序打包到一个 war 文件中并将其部署到任何 servlet 容器。

从 verson 1.1 开始,play 使用 netty作为集成网络服务器。

我想知道当 play 应用程序部署在 war 文件中时会发生什么。

在servlet容器内部还是用netty包裹起来吗? 它有任何明显的性能成本吗? 或者它只是访问 servlet 容器?

最佳答案

正如 Niels 所说,Play 不使用 Netty 部署到其他平台。

如果您使用 play runplay start 命令运行 Play,它会使用 Netty 来管理请求,然后将它们传递给 Play 框架。

但是,如果您想部署到另一个应用程序服务器,这是不可能的。因此,Play 将 HTTP 处理包装在一个 ServletWrapper 周围,这有效地转换了 Play 的正常工作方式,并使其在符合 Servlet 规范的 J2EE 堆栈上可用。

这个wrapper的具体代码可以是found here .当您构建 WAR 文件时,Play 有效地将此 ServletWrapper 放置为公开的 Servlet(很像 Struts 对 ActionServlet 所做的),并且它处理必要的工作以将请求路由到正确的位置。

关于tomcat - 谁能解释一下什么时候出戏!应用程序部署为 war 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6967444/

相关文章:

spring mvc 请求的资源不可用

作为 Visual Studio 部署后命令运行时,SharePoint 脚本失败

java - 使用 Play! 渲染一个简单的静态 JSON 响应!和 java

c# - 如何在 .csproj 文件中设置 MSDeploy 设置

reactjs - 如何使用docker部署React(NextJS)项目?

java - playframework owasp 前 10 名

Scala、PlayFramework、Mockito、ExecutionContext null

java - Struts 2 Spring Framework 上的常规 HTML 页面

tomcat - 如何将 CARBON_HOME 系统属性设置为创建的 'carbon_repo' 目录,

java - 访问我已上传到 tomcat 服务器的图像