Play!是一個(gè)純Java實(shí)現(xiàn)的Web敏捷開發(fā)框架,工程的默認(rèn)目錄結(jié)構(gòu)如下:
構(gòu)建在HTTP上
Servlet或者Struts之類的Java Web框架對(duì)HTTP API進(jìn)行了抽象和封裝,Play!和這些框架的根本上的不同之處就在于Play!提供了對(duì)HTTP完全的訪問能力。
通過Router綁定URI到Java的方法:
高效的模板引擎
我們喜歡JSP和表達(dá)式語言背后的思想,但為什么創(chuàng)建一個(gè)taglib需要配置這么多的文件,為什么不能提供對(duì)model的完全的訪問?JSP有太多的局限性,使用起來很麻煩,那么讓我們創(chuàng)建一個(gè)更好的模板引擎吧。
如果你想實(shí)現(xiàn)下面的JSP代碼的功能:
<% @?taglib?uri = " http://java.sun.com/jsp/jstl/functions " ?prefix = " fn " ? %>
< c:choose >
???? < c:when? test ="${emails.unread?!=?null?&&?fn:size(emails.unread)}" >
????????You've?${fn:size(emails.unread)}?unread?emails?!
???? </ c:when >
???? < c:otherwise >
????????You've?none?unread?emails?!
???? </ c:otherwise >
</ c:choose >
你會(huì)喜歡上下面這種寫法:
Play!使用Groovy作為模板語言,這是一種和Java語法極為相似的語言,并且可以無縫的使用Java類庫,可以將其看作是動(dòng)態(tài)的Java語言。
具有生產(chǎn)效率的Java
眾所周知,由于需要編譯、部署,Java平臺(tái)的生產(chǎn)效率比ROR這類動(dòng)態(tài)語言平臺(tái)低很多。Play!的目標(biāo)是盡可能的提高Java開發(fā)的生產(chǎn)效率。在開發(fā)環(huán)境下,Play!框架可自動(dòng)編譯和重新裝載已改變的源文件。也就是說在保存源代碼的改變后,就能立刻通過刷新瀏覽器看到結(jié)果,不需要重新編譯、部署、重啟服務(wù)器。
Play! 具有優(yōu)秀的錯(cuò)誤報(bào)告功能。發(fā)生異常時(shí),該框架會(huì)直接顯示出錯(cuò)誤的源代碼,甚至是模板代碼。
?
Play!是一個(gè)full-stack Java Web應(yīng)用框架,具有建立一個(gè)現(xiàn)代化網(wǎng)絡(luò)應(yīng)用所需的一切:
-
通過JBDC支持關(guān)系型數(shù)據(jù)庫
-
使用Hibernate作為ORM
-
支持Memcache
-
支持JSON或者XML格式的Web服務(wù)
-
支持OpenID
-
圖片處理
API
- …
Play!的插件系統(tǒng)可以讓你重用其他系統(tǒng)的Java代碼、模板甚至JavaScript和CSS。
----------
Play With Play!系列目錄
http://www.aygfsteel.com/shinewang/archive/2008/12/25/248237.html