拓展阅读
Spring Web MVC-00-重学 mvc
mvc-01-Model-View-Controller 概览
web mvc-03-JFinal
web mvc-04-Apache Wicket
web mvc-05-JSF JavaServer Faces
web mvc-06-play framework intro
web mvc-07-Vaadin
web mvc-08-Grails
开源
The jdbc pool for java.(java 手写 jdbc 数据库连接池实现)
The simple mybatis.(手写简易版 mybatis)
play framework
Play是一个高生产力的Java和Scala Web应用程序框架,集成了现代Web应用程序开发所需的组件和API。
Play基于轻量级、无状态、面向Web的架构,并通过其基于Pekko Streams的响应式模型实现了对高度可扩展应用程序的可预测和最小资源消耗(CPU、内存、线程)。
是什么?
Play是一个高生产力的Java和Scala Web应用程序框架,集成了用于现代Web应用程序开发的组件和API。Play是由Web开发人员为Web应用程序开发而开发的。
你会发现Play的模型-视图-控制器(MVC)架构非常熟悉且易于学习。Play提供了简洁而功能强大的编程模式。而且,由大量开发Play应用程序的社区提供了一个优秀的资源,可用于解答你的问题。
作为一个全栈框架,Play包含构建Web应用程序和REST服务所需的所有组件,例如集成的HTTP服务器、表单处理、跨站请求伪造(CSRF)保护、强大的路由机制、国际化支持等。Play通过直接支持日常任务和热重载来节省宝贵的开发时间,使你能够立即查看工作结果。
Play的轻量级、无状态、面向Web的架构在底层使用了Pekko和Pekko Streams,以提供可预测且最小的资源消耗(CPU、内存、线程)。由于其响应式模型,应用程序在水平和垂直方向上都能自然地扩展。
Play对于数据库访问没有固定的看法,并与许多对象关系映射(ORM)层集成。
它支持Anorm、Slick和JPA,但许多用户使用NoSQL或其他ORM。
Hello World 教程
这个教程描述了 Play 应用程序的工作原理,并向你展示如何创建一个页面,显示一个定制的 Hello World 问候语。
你可以使用任何 Java 构建工具来构建 Play 项目。
该教程演示了 sbt 和 Gradle,因为它们都提供了 Play 所以著称和受欢迎的开发体验,如自动重新加载、清晰的错误消息和模板编译。教程的步骤假设你会在终端中使用 sbt 或 gradlew 命令,但你也可以将 Play 项目集成到你喜欢的集成开发环境(IDE)中。
Starting the project
启动项目之前,请确保已验证运行 Play 所需的要求,并获取相应的示例项目。
你可以克隆 play-samples GitHub 仓库,或者下载其内容作为 zip 文件。
- Play Java Starter Example
- Play Scala Starter Example
在相应示例项目的文件夹内,按照 README.md 文件中的步骤运行示例。请注意:当你运行教程应用程序时,它会显示与文档中相同内容和说明的网页。教程中包含一个故意的错误,将文档和应用程序页面在不同的标签页或浏览器中打开,以便在遇到错误时可以查阅文档进行修复。
Play 框架简介
如下图所示,Play 是一个全栈框架,拥有构建 Web 应用程序或 REST 服务所需的所有组件,包括:集成的 HTTP 服务器、表单处理、跨站请求伪造(CSRF)保护、强大的路由机制、国际化支持等等。Play 与许多对象关系映射(ORM)层集成。
它支持 Anorm、Ebean、Slick 和 JPA,但许多用户也使用 NoSQL、其他 ORM,甚至从 REST 服务中访问数据。
[外链图片转存中…(img-p6Givrbd-1706024459489)]
Play 的 API 可以在 Java 和 Scala 中使用。
框架在内部使用了 Pekko 和 Pekko HTTP。这使得 Play 应用程序具有无状态、非阻塞、事件驱动的架构,实现了水平和垂直的可扩展性,并更有效地利用资源。
Play 项目包含 Scala 组件,但由于 Play 具有 Java API,因此 Java 开发人员无需学习 Scala 就能成功使用 Play。
以下是开发人员喜欢使用 Play 框架的一些原因:
- 其 Model-View-Controller(MVC)架构熟悉且易于学习。
- 直接支持常见的 Web 开发任务和热重载,节省宝贵的开发时间。
- 庞大的活跃社区促进知识共享。
Twirl 模板用于渲染页面。Twirl 模板语言:
- 易于学习
- 不需要特殊编辑器
- 提供类型安全
- 编译后在浏览器中显示错误
要了解更多有关 Play 的优势,请参阅 Play 的介绍和哲学。现在,让我们深入了解一个 Play 应用程序的外观。