Play的API和其基本结构基于HTTP和MVC模型,这些对于大部分Web应用程序员都不陌生,这里我们对这些基本概念再回忆一下。
Play服务器
Play的HTTP服务器上JBoss的Netty服务器,是Java的NIO非阻塞型服务器的一种(非阻塞服务器和传统Web服务器的比较一个显著的优点是响应请求的规模,非阻塞型服务器通常可以支持到每秒上万个请求)。Netty服务器包含在Play的发布包中不需要另外下载。由此Play包含了支持异步Web编程的编程接口(API),Play的部署方式也和和传统的基于JVM的Web服务器不同:Play包含了一个嵌入式的HTTP服务器,你不需要额外的应用服务器(比如apache服务器,tomcat)来部署Play应用。
HTTP
HTTP为一个网络协议,该协议可以分成两种事务:请求和响应,它们都基本文本。如下图所示:
HTTP请求使用为数不多的几个命令,这些命令成为HTTP方法,而HTTP响应使用了数字代表其返回状态,HTTP的请求和相应的无状态行(stateless)体现了该协议的简洁。
MVC
MVC的设计模式将应用的逻辑,数据和其用户界面分开,从而降低了应用各个部件之间的耦合性,下图为一个较高层次的Play应用结构图:
尤为重要的是,应用的模型,它包含了和应用相关行业的数据和逻辑,它不依赖于用户界面也不需要了解用户界面。Play是一个全栈Web框架,因此除了Web层次之外,也包含了数据库相关的API,如下图所示:
比如我们已经介绍过的 Slick API
REST
Play框架也支持符合REST标准的Web结构,关于REST本身的介绍,可以参考相关文档,我们在之后的文章会介绍Play中如何实现符合REST标准的WEB接口。
Play服务器
Play的HTTP服务器上JBoss的Netty服务器,是Java的NIO非阻塞型服务器的一种(非阻塞服务器和传统Web服务器的比较一个显著的优点是响应请求的规模,非阻塞型服务器通常可以支持到每秒上万个请求)。Netty服务器包含在Play的发布包中不需要另外下载。由此Play包含了支持异步Web编程的编程接口(API),Play的部署方式也和和传统的基于JVM的Web服务器不同:Play包含了一个嵌入式的HTTP服务器,你不需要额外的应用服务器(比如apache服务器,tomcat)来部署Play应用。
![20140804002](https://i-blog.csdnimg.cn/blog_migrate/fd72aabf99bbadd110d99541257168b9.png)
HTTP
HTTP为一个网络协议,该协议可以分成两种事务:请求和响应,它们都基本文本。如下图所示:
![20140804001](https://i-blog.csdnimg.cn/blog_migrate/dd9f679c4d03752078ab9b7211ac100a.png)
HTTP请求使用为数不多的几个命令,这些命令成为HTTP方法,而HTTP响应使用了数字代表其返回状态,HTTP的请求和相应的无状态行(stateless)体现了该协议的简洁。
MVC
MVC的设计模式将应用的逻辑,数据和其用户界面分开,从而降低了应用各个部件之间的耦合性,下图为一个较高层次的Play应用结构图:
![20140804003](https://i-blog.csdnimg.cn/blog_migrate/15afc7da851255716dc6ef9f0c501f90.png)
尤为重要的是,应用的模型,它包含了和应用相关行业的数据和逻辑,它不依赖于用户界面也不需要了解用户界面。Play是一个全栈Web框架,因此除了Web层次之外,也包含了数据库相关的API,如下图所示:
![20140804004](https://i-blog.csdnimg.cn/blog_migrate/d07d82a1aa22935a869ef820e39c9386.png)
比如我们已经介绍过的 Slick API
REST
Play框架也支持符合REST标准的Web结构,关于REST本身的介绍,可以参考相关文档,我们在之后的文章会介绍Play中如何实现符合REST标准的WEB接口。