框架定位
Play! 是**全棧式** Java Web 框架,內建:
- 簡潔無狀態 MVC 模型
- Hibernate/JPA 對象持久化
- Groovy 模板引擎 (支援佈局繼承、自定義標籤)
- 現代 Web 開發所需一切 (路由、綁定、驗證、緩存、異步等)
五大核心特性
- 極速開發週期:修改代碼/模板 **即時熱重載**,無需重啟、重新部署、手動編譯。保存即生效。
- 智能 HTTP 參數綁定:請求參數自動映射到 Action 方法參數,支援基本類型、對象、集合、JSR-303 驗證註解。
- 高性能異步 HTTP 服務器:基於 Apache Mina (後遷 Netty),非阻塞 IO,輕鬆支撐長連接、Comet、WebSocket。
- 強大 Groovy 模板引擎:語法接近純 HTML、多層佈局繼承、可重用標籤、表達式安全輸出 (防 XSS)。
- 卓越錯誤頁面:異常時直接在瀏覽器顯示**源碼行號、堆棧、模板對應位置**,點擊跳轉 IDE (配合插件),調試效率極高。
架構亮點
- 無狀態:不依賴 Servlet Session,天然適合水平擴展、雲部署。
- 約定優於配置:目錄結構固定 (
app/controllers, app/models, app/views, conf/routes),零 XML。
- 模塊化:核心輕量,功能通過模塊擴展 (Security, CRUD, PDF, OpenID 等)。
版本演進提示
Play 1.x (本文描述) 基於 Java + Groovy;
Play 2.x 重大重寫:Scala/Java 雙語言、SBT 構建、Reactive Streams、Akka 整合、非阻塞全棧。現代項目請直接使用 **Play 2.8+ (Java/Scala)**。