§将 Play 服务器嵌入您的应用程序
虽然 Play 应用程序最常被用作其自身的容器,但您也可以将 Play 服务器嵌入到您现有的应用程序中。这可以与 Twirl 模板编译器和 Play 路由编译器结合使用,但这些当然不是必需的,嵌入 Play 应用程序的常见用例是因为您只有几个非常简单的路由。
启动嵌入式 Play 服务器的最简单方法是使用 Server
工厂方法。如果您只需要提供一些简单的路由,您可能决定使用 路由 DSL,因此您需要以下导入
import play.routing.RoutingDsl;
import play.server.Server;
import static play.mvc.Controller.*;
然后,您可以使用 forRouter
方法创建服务器
Server server =
Server.forRouter(
(components) ->
RoutingDsl.fromComponents(components)
.GET("/hello/:to")
.routingTo((request, to) -> ok("Hello " + to))
.build());
默认情况下,这将在测试模式下在随机端口上启动服务器。您可以使用 httpPort
方法检查端口
CompletionStage<WSResponse> response =
ws.url("http://localhost:" + server.httpPort() + "/hello/world").get();
您可以通过传入 port
和/或 mode
来配置服务器
Server server =
Server.forRouter(
(components) ->
RoutingDsl.fromComponents(components)
.GET("/hello/:to")
.routingTo((request, to) -> ok("Hello " + to))
.build());
启动服务器后,要停止服务器,只需调用 stop
方法即可
server.stop();
注意:Play 需要在应用程序中配置 应用程序密钥 才能启动。这可以通过在您的应用程序中提供
application.conf
文件或使用play.http.secret.key
系统属性来配置。
下一步:Scala 开发人员的 Play
在此文档中发现错误?此页面的源代码可以在 此处 找到。阅读完 文档指南 后,请随时贡献拉取请求。有疑问或建议要分享?前往 我们的社区论坛 与社区开始对话。