來玩Play框架01 簡介

做者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝!javascript

 

說到網絡框架,Ruby的Ruby on Rail和Python的Django都至關輕巧好用,但Java下的框架,則要沉重不少。有人所以質疑Java語言自己是否符合網絡時代的需求。Java大神們對這一問題嗤之以鼻。想要輕巧好用的框架?寫一個給你就是了。Java程序員Guillaume Bort在JVM上創造了一個全新的框架Play framework。Play擁有ROR或Django那樣的靈巧,又不失Java的穩定,更有JVM這一強大的運行平臺。魔鬼身材,天使臉蛋。讓咱們來玩玩Play吧。css

 

 

 

下載與安裝

Play的安裝至關簡單。Play官網下載,我下載的是2.2.1版本。該版本的API文檔爲2.2.1APIhtml

把下載的.zip文件解壓縮,並將解壓縮後的文件夾放到某個位置。好比/home/vamei/Util。java

unzip play-2.2.1.zip
mv play-2.2.1 /home/vamei/Util/

文件夾裏重要的是可執行文件play。我通常是在/home/vamei/Util/下建立一個bin文件夾,並在該文件夾中建立play的軟連接。jquery

mkdir -p /home/vamei/Util/bin cd /home/vamei/Util/bin ln -s /home/vamei/Util/play-2.2.1/play .

最後,將新建的bin文件夾放入系統路徑。程序員

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

在命令行輸入play,將顯示:apache

 _ _ __ | | __ _ _ _ | '_ \| |/ _' | || |
|  __/|_|\____|\__ /
|_|            |__/ play 2.2.1 built with Scala 2.10.2 (running Java 1.7.0_51), http://www.playframework.com
 This 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系統都相似。api

在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通訊的相關介紹,可參考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

 

歡迎繼續閱讀「Java快速教程」系列文章

相關文章
相關標籤/搜索