成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Play Framework介紹:主要概念

開發(fā) 后端
Play!是一個(gè)full-stack(全棧的)Java Web應(yīng)用框架,包括一個(gè)簡單的無狀態(tài)MVC模型,具有Hibernate的對象持續(xù),一個(gè)基于Groovy的模板引擎,以及建立一個(gè)現(xiàn)代Web應(yīng)用所需的所有東西。

本文翻譯自Play官方文檔。原文見:http://www.playframework.org/documentation/1.1.1/main

Play Framework是一個(gè)Rails風(fēng)格的Full-stack Java Web框架。

MVC模型

Play應(yīng)用遵循Web架構(gòu)使用的MVC架構(gòu)模式。

它將應(yīng)用分離到不同的層中:表現(xiàn)層(Presentation)和模型層(Model)。表現(xiàn)層進(jìn)一步分為視圖(View)和控制器(Controller)。

  • Model 是應(yīng)用所處理信息的領(lǐng)域表述(Domain-Specific Representation)。絕大多數(shù)應(yīng)用使用持久化機(jī)制如數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù)。但是MVC并沒有特別提到數(shù)據(jù)訪問層,因?yàn)樗鼘儆谙聦樱赡P头庋b。
  • View 將模型渲染成適合交互的表單,通常是用戶界面。一個(gè)模型可有多個(gè)不同目的視圖。Web應(yīng)用中,View通常以HTML,XML或JSON形式呈現(xiàn),也可能是二進(jìn)制的Chart。
  • Controller處理事件(通常是用戶動(dòng)作),并對模型做相應(yīng)改變。Web應(yīng)用中,事件通常是HTTP請求:Controller監(jiān)聽HTTP請求,從其中提取數(shù)據(jù),如查詢字符串參數(shù),請求頭,然后改變下層模型對象。

Play將此三層分在app目錄下的不同package中。

app/controllers

一個(gè)Controller就是一個(gè)Java 類,它的靜態(tài)公共方法則是動(dòng)作(Action)。動(dòng)作是接收HTTP請求后的Java處理入口點(diǎn)。Controller類實(shí)際是面向過程的,非OO。 Action從HTTP請求中提取數(shù)據(jù),讀或更新Model對象,然后返回一個(gè)包裝成HTTP響應(yīng)(HTTP Response)的結(jié)果。

app/models

Model是一組具有所有OO特性的Java類。包含數(shù)據(jù)結(jié)構(gòu)和應(yīng)用可使用的操作。(譯注:即充血模型)。支持通過JPA持久化。

app/views

應(yīng)用的視圖由Play的模板系統(tǒng)生成。Controller從Model獲取數(shù)據(jù),然后使用模板呈現(xiàn)它。此package包含HTML,XML等模板文件,用作動(dòng)態(tài)生成模型的表述(Representation)。

請求生命周期

Play是完全無狀態(tài)的(stateless),且僅面向請求-應(yīng)答(Request-Response)。所有請求遵循相同路徑:

  1. 框架收到一個(gè)HTTP請求
  2. Router匹配請求和Controller、Action,執(zhí)行動(dòng)作方法。
  3. 應(yīng)用代碼執(zhí)行
  4. 繪制模型,呈現(xiàn)視圖
  5. 動(dòng)作方法的結(jié)構(gòu)作為HTTP響應(yīng)返回。

應(yīng)用程序布局

app目錄

包含所有可執(zhí)行的工件:Java源代碼和視圖模板。其下有三個(gè)標(biāo)準(zhǔn)package,每個(gè)代表MVC的一層。你也能添加你自己的包,如示例的utils包。

View pacakge可以在分子packages:

  • tags 存儲(chǔ)應(yīng)用的ta。如可重用的模板片段。
  • 一個(gè)Controller一個(gè)view目錄,按慣例,每個(gè)Controller的相關(guān)模板存儲(chǔ)在自己的子目錄中。

.class文件在哪兒?

Play在運(yùn)行時(shí)編譯Java源代碼,并將編譯的類緩存在tmp\bytecode目錄下。Play應(yīng)用的可執(zhí)行工件時(shí).java源文件,不是已編譯的.class(譯注:包括jar文件)。

public目錄

存儲(chǔ)靜態(tài)的、由Web服務(wù)器直接處理的資源。分為三個(gè)子目錄:images,stylesheets和javascripts,分別放圖片,css和js。

conf目錄

包含應(yīng)用的所有配置文件。兩個(gè)必須文件為:

  • application.conf: 應(yīng)用主配置文件,包含所有標(biāo)準(zhǔn)的配置選項(xiàng)。
  • routes:url路由規(guī)則定義文件。

此目錄包含在Java ClassPath中。

lib目錄

存放應(yīng)用依賴的標(biāo)準(zhǔn)Java類庫。此目錄自動(dòng)添加到Java classpath中。

開發(fā)生命周期

使用Play開發(fā)時(shí)沒有編譯,打包和部署這些階段,代之兩個(gè)不同環(huán)境:用于開發(fā)階段的DEV模式和用戶部署階段的PROD模式。

Java源代碼在運(yùn)行時(shí)編譯和加載。如果Java源文件在應(yīng)用運(yùn)行時(shí)發(fā)生改變,代碼會(huì)重新編譯并熱加載(hot-swapped)到JVM中。模板文件也是如此。

關(guān)于DEV/PROD模式

通過application.mode配置屬性切換DEV或PROD。DEV模式下,Play會(huì)檢查并在必要時(shí)熱加載。PROD模式為產(chǎn)品做了優(yōu)化:Java源文件和模板僅編譯一次。

調(diào)試

開發(fā)模式下通過JDPA連接到8000端口遠(yuǎn)程調(diào)試。(譯注:原文此處很簡略,實(shí)際上可遠(yuǎn)程調(diào)試,也可本地調(diào)試)

原文鏈接:http://www.cnblogs.com/Chaos/archive/2011/04/16/2018315.html

【編輯推薦】

  1. Java堆內(nèi)存的10個(gè)要點(diǎn)
  2. “Java已死”簡史
  3. Play!在云端:Java PaaS平臺(tái)入門
  4. ZK 6.0正式發(fā)布 基于Java的Ajax框架
  5. JavaFX 2.0.3發(fā)布 帶來兩個(gè)全新文檔
責(zé)任編輯:林師授 來源: Chaos的博客
相關(guān)推薦

2012-02-24 09:53:24

JavaPlay Framew

2012-02-20 14:26:48

JavaPlay Framew

2012-03-14 12:29:55

JavaPlay Framwo

2012-02-22 16:06:42

2012-02-24 10:57:43

2012-02-20 14:41:30

JavaPlay Framew

2012-02-22 17:23:51

JavaPlay Framew

2012-02-23 13:13:00

JavaPlay Framew

2012-03-14 09:29:00

Play framewJava

2012-02-23 13:48:16

JavaPlay Framew

2012-02-23 12:53:40

JavaPlay Framew

2012-02-23 11:06:18

JavaPlay FramewPlay!

2012-02-24 11:31:09

JavaPlay Framew

2009-09-18 09:25:06

LINQ Framew

2012-02-29 10:54:21

JavaPlay Framew

2011-09-09 17:01:42

框架

2009-08-25 18:16:02

.NET Framew.NET Framew

2010-01-06 18:21:24

2009-12-15 11:28:34

.NET Framew

2009-07-20 16:12:21

ASP.NET Fra
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 黄色大全免费看 | 久久蜜桃av一区二区天堂 | 超碰97免费观看 | 亚洲国产一区在线 | 蜜桃视频一区二区三区 | 国产精品久久a | 久久久蜜桃一区二区人 | 色综合久久久久 | 亚洲一区视频在线 | 欧美综合一区二区 | 特黄特黄a级毛片免费专区 av网站免费在线观看 | 一级一片在线观看 | 久久婷婷香蕉热狠狠综合 | 成人做爰999| 亚洲一区二区三区免费在线观看 | 91麻豆精品国产91久久久更新资源速度超快 | 国产成人综合久久 | 黄色欧美视频 | 亚洲日韩中文字幕一区 | 91精品国产91久久久久久密臀 | 久久国产精品免费 | 精品国产鲁一鲁一区二区张丽 | 一级做受毛片免费大片 | 久久精品在线免费视频 | 亚洲精品视频二区 | 国产99久久精品一区二区300 | 亚洲热在线视频 | 色综合视频 | 一级a爱片久久毛片 | 91.色 | 欧美一区二区网站 | 成人午夜网站 | 精品入口麻豆88视频 | 欧美成人一区二区三区片免费 | 国产精品久久久久久久久久久新郎 | 国产成人免费 | 成年人黄色一级片 | 亚洲中午字幕 | 免费a级毛片在线播放 | 国产精品久久国产精品 | 美女国内精品自产拍在线播放 |