博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
来玩Play框架01 简介
阅读量:6281 次
发布时间:2019-06-22

本文共 2918 字,大约阅读时间需要 9 分钟。

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

 

说到网络框架,Ruby的Ruby on Rail和Python的Django都相当轻巧好用,但Java下的框架,则要沉重很多。有人因此质疑Java语言本身是否符合网络时代的需求。Java大神们对这一问题嗤之以鼻。想要轻巧好用的框架?写一个给你就是了。Java程序员Guillaume Bort在JVM上创造了一个全新的框架Play framework。Play拥有ROR或Django那样的灵巧,又不失Java的稳定,更有JVM这一强大的运行平台。魔鬼身材,天使脸蛋。让我们来玩玩Play吧。

 

 

 

下载与安装

Play的安装相当简单。在,我下载的是。该版本的API文档为。

把下载的.zip文件解压缩,并将解压缩后的文件夹放到某个位置。比如/home/vamei/Util。

unzip play-2.2.1.zipmv play-2.2.1 /home/vamei/Util/

文件夹里重要的是可执行文件play。我一般是在/home/vamei/Util/下创建一个bin文件夹,并在该文件夹中创建play的软链接。

mkdir -p /home/vamei/Util/bincd /home/vamei/Util/binln -s /home/vamei/Util/play-2.2.1/play .

最后,将新建的bin文件夹放入系统路径。

echo "export PATH=/home/vamei/Util/bin:$PATH" >> /home/vamei/.bashrcsource /home/vamei/.bashrc

在命令行输入play,将显示:

_ _ __ | | __ _ _  _| '_ \| |/ _' | || ||  __/|_|\____|\__ /|_|            |__/play 2.2.1 built with Scala 2.10.2 (running Java 1.7.0_51), http://www.playframework.comThis is not a play application!Use `play new` to create a new Play application in the current directory,or go to an existing application and launch the development console using `play`.You can also browse the complete documentation at http://www.playframework.com.

 

注:

上面是Ubuntu下的安装过程。Linux系统都类似。

在Mac OS下,选择合适的路径安装play,过程也相同。

对于Windows下的安装,没有探索。欢迎补充。

 

创建与运行

切换到/home/vamei,创建一个网络应用test,

play new test

跟随指示,输入项目的必要信息。应用名和编程语言,分别为test和Java。

将有一个新的文件夹/home/vamei/test出现在当前路径。它包含该项目的所有文件。

test├── README├── app│   ├── controllers│   │   └── Application.java│   └── views│       ├── index.scala.html│       └── main.scala.html├── build.sbt├── conf│   ├── application.conf│   └── routes├── project│   ├── build.properties│   └── plugins.sbt├── public│   ├── images│   │   └── favicon.png│   ├── javascripts│   │   └── jquery-1.9.0.min.js│   └── stylesheets│       └── main.css└── test    ├── ApplicationTest.java    └── IntegrationTest.java

上面最重要的文件夹是app,里面包含了项目的MVC定义。Play采用MVC架构(model-view-control)。新建项目已经创建好了controllers和views,包含有控制器(controller)和视图(view)模板。如果有必要,可以在app下创建models文件夹,用来定义数据模型(model)。

application.conf包含了项目的各个设置参数。

routes记录了url请求和控制器的对应关系。当有http请求进入时,Play将根据该文件的设置,调用特定的控制器行动。

 

现在,切换到/home/vamei/test,并运行项目。输入命令:

play run

Play自己包含有一个网络服务器模块,所以不需要和apache衔接,就可以作为网络服务器,直接工作。 

 

打开浏览器,访问localhost:9000,将看到运行的test应用。

这一页面是新建项目自带的页面。

 

解析

Play框架的主要功能是动态生成http响应。http协议按照“请求-响应”(request-response)的方式工作。http通信的相关介绍,可参考。 

Play是MVC架构,分步骤生成响应,而每一步由不同的模块负责。上面的一个简单页面,是如下过程产生的:

 

图中的黑色字体表明了这些功能在项目中所在的具体文件。

routes负责将url导向正确的行动(action)。action是生成http响应的核心。一个action会经过一系列的运算,产生一个响应。而控制器controller只是一个action的集合。在Java编程中,action是controller类的一个方法。action的响应可以传给某个视图,比如上面的index.scala.html,从而更好的控制显示效果。最后的结果,就是一个http响应,也就是我们所看到的页面。

通过个性化上述过程,我们可以设计出功能更丰富的网络应用。

 

持续运行

Play自带的服务器可以持续运行。将Play安装在目标服务器,比如云上后,在Play项目的根目录下,用:

play start

来持续运行服务器。此后你可以按Ctrl-D来返回命令行。此时的Play不依赖于Shell,即使退出服务器的登陆,Play还是会持续运行。

 

使用其它端口运行:

play "start -Dhttp.port=8080"

 

停止运行。切换到项目的根目录下,使用命令:

play stop

 

总结

play new

play run

动态生成响应

model-control-view

 

欢迎继续阅读“”系列文章

 

 

你可能感兴趣的文章
JS组件系列——Bootstrap 树控件使用经验分享
查看>>
HTML-color:rgb()-颜色渐进
查看>>
数据库实例: STOREBOOK > 表空间 > 编辑 表空间: UNDOTBS1
查看>>
Mcad学习笔记之异步编程(AsyncCallback委托,IAsyncResult接口,BeginInvoke方法,EndInvoke方法的使用小总结)...
查看>>
Javascript防冒泡事件与Event对象
查看>>
managed domain与unmanaged domain
查看>>
《设计模式解析(第2版•修订版)》目录—导读
查看>>
Java核心技术卷I基础知识3.5.3 强制类型转换
查看>>
可与Mirai比肩的恶意程序Hajime,竟是为了保护IoT设备?
查看>>
《Spring Data 官方文档》6. Cassandra 存储库
查看>>
聊聊并发(十)生产者消费者模式
查看>>
R语言数据挖掘2.2.4.2 FP-growth算法
查看>>
人工智能概念诞生60年,哪些大牛堪称“一代宗师”?
查看>>
《游戏大师Chris Crawford谈互动叙事》一9.5 真实案例
查看>>
Java Cache系列之Guava Cache实现详解
查看>>
设计模式 - 适配器
查看>>
CSS之可折叠导航
查看>>
淘宝美工设计师细说何为天猫透明背景
查看>>
【B/S学习总结】我的第100篇CSDN博客
查看>>
[Hadoop]chukwa与ganglia的区别
查看>>