freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

play框架手冊-文庫吧資料

2025-06-13 08:10本頁面
  

【正文】 ddyy ddMMyyyy yyyy dd39。 yyyyMMdd’T’hhmmss yyyyMMdd’T’hh:mm:ss // ISO8601 yyyyMMdd’T’hh:mm:ss’Z39。高級HTTP Java綁定簡單類型所有本地的和通用的java類型都是自動進(jìn)行綁定的:int, long, boolean, char, byte, float, double, Integer, Long, Boolean, Char, String, Byte, Float, Double注意:如果請求的參數(shù)丟失或自動類型轉(zhuǎn)換失敗,對象類型將置null,簡單類型將設(shè)置為其默認(rèn)值。 }}例外情況!如果在action方法參數(shù)里找不到參數(shù)對應(yīng)的參數(shù),則相應(yīng)的方法參數(shù)將默認(rèn)設(shè)置為默認(rèn)值(對象類型為null,數(shù)字類型為0)。 }如果某個參數(shù)具有多個值,則可以聲明一個數(shù)組參數(shù):public static void show(Long[] id) { for(String anId : id) { (anid)。 }還可以使用其他java類型,比如String。}請等一等,你有更好的方式完成類型轉(zhuǎn)換,如下:還可以從action方法簽名實現(xiàn)轉(zhuǎn)換你可以直接從action方法簽名里取回參數(shù)。 String[] names = (names)。 xurlformencoded體的內(nèi)容使用params mapparams對象是一個可用于任何控制器類的變量(),這個對象包含了所有從當(dāng)前請求找到的參數(shù)。 URI范示的動態(tài)部分名稱(和在routes文件里指定的一樣) 請求體:如果是通過html窗體發(fā)送的請求,請求體就包含有以xurlformencoded方式編碼的窗體數(shù)據(jù)所有這些情況下,play都會自動進(jìn)行數(shù)據(jù)提取,并存入同一個MapString, String[] ,這里面包含有所有的HTTP參數(shù)。 URI路徑:比如/clients/1541請求, 1541就是URI范示的動態(tài)部分獲取參數(shù)一個HTTP請求包含有數(shù)據(jù)。在action方法簽名里可以定義參數(shù),這些參數(shù)值會被框架自動從相應(yīng)的參數(shù)里找到。 } }控制器中的每個public、static方法叫做Action(動作)。 } public static void delete(Long id) { Client client = (id)。 public class Clients extends Controller { public static void show(Long id) { Client client = (id)。 import ??刂破鞲庞[一個controller就是一個java類,位于controller包下。這是另外一個rpc類型的協(xié)議,這種情況,soap使用作為傳輸協(xié)議,這不是一種應(yīng)用程序協(xié)議。典型代表就是EJB和Corba協(xié)議,這種架構(gòu)風(fēng)格使用的是RPC(遠(yuǎn)程過程調(diào)用),這樣的通信風(fēng)格和web架構(gòu)很難兼容。注意!不同的策略具有不同的架構(gòu)模型。和接口類似,控制器是一個面向Request/Response的程序。然而,這些domain對象到資源的映射并不是雙向注入的:它可以表示成不同級別的粒度,一些資源可能是虛擬的,某些資源的別名或許已經(jīng)定義了…這正是控制器層發(fā)揮的作用:它在模型對象和傳輸層事件之間提供了粘合代碼。在Play框架中,商業(yè)邏輯在domain model層里進(jìn)行管理,Web客戶端不能直接調(diào)用這些代碼,domain對象的功能作為URI資源暴露出來。 } } 現(xiàn)在,一個Accept: text/xvcard ,比如:BEGIN:VCARD VERSION: N:${name} FN:${name} ORG:${organisation} URL:${url} END:VCARD 繼續(xù)討論當(dāng)Router明確了哪個java調(diào)用將用于處理已經(jīng)接收的請求,play就會調(diào)用這個java調(diào)用。通過設(shè)置請求格式為xml,Play響應(yīng)的結(jié)果Accept header類型為:text/xml,比如: ?xml version=? contact name${name}/name organisation${organisation}/organisation url${url}/url /contact Accept header內(nèi)建的格式對應(yīng)的格式以及對應(yīng)的模板文件見下表(以index()控制器方法為例):Accept header Format Template file name Mapping null null Default template extension for null format image/png null 媒體類型沒有映射到格式 */*, image/png html 默認(rèn)媒體類型映射到html格式 text/html html Builtin format application/xhtml html Builtin format text/xml xml Builtin format application/xml xml Builtin format text/plain txt Builtin format text/javascript json Builtin format application/json, */* json Builtin format, default media type ignored 定制格式 通過檢查請求header和設(shè)置相應(yīng)用的格式,可以為自己的自定義類型添加內(nèi)容協(xié)商,因此只需在請求選擇相應(yīng)的媒體類型時設(shè)置這個自定義格式即可。 render(name, organisation, url)。 final String organisation = Lunatech Research。Play對html, txt, json和 xml媒體格式提供了內(nèi)建支持。從 headers開始設(shè)置內(nèi)容類型 如果Accept header包含了text/html或application/xhtml以及作為*/*通配符的結(jié)果時, Play選擇其默認(rèn)格式html??蛻舳颂囟ǖ目山邮艿膬?nèi)容類型是通過Accept header確定的,比如需要一個xml response就定義為:Accept: application/xml客戶端可以指定多個媒體類型,并且可以指定(*/*)來表示可接受任意媒體類型: Accept: application/xml, image/png, */*傳統(tǒng)的Web瀏覽器總是在其Accept header里包含了通配符:這樣,他們就可以接收任意媒體類型,當(dāng)然包括play提供的默認(rèn)html類型。HTTP 內(nèi)容協(xié)商 negotiationplay和其他RESTful架構(gòu)一樣,直接使用提供的功能,而不是試著隱藏或是在其之上放置一個抽象層。)在下面的路由里,Play也可直接從URL里提取格式: GET /index.{format} 在這個路由里,/,同時使用XML模板進(jìn)行渲染; /。) 類似的還有:GET /stylesheets/dynamic_css (format:39。GET / (format:39。 然而,更清晰的方法就是在rourtes文件里使用URL來指定格式。你可以在調(diào)用render方法前以編程的方式設(shè)定格式。因此,index()。 這個值通過文件擴(kuò)展名確定哪個視圖模板將會被使用。優(yōu)先權(quán)順序再次用于查找最特別的路由,以生成URL。(display, full)。//結(jié)果為 GET /clients/1541URL生成器已經(jīng)被集成到許多框架的組件里。比如,下面的路由定義:GET /clients/{id} 在代碼里,同樣可以生成URL,:(id, 1541)。phane時可以使用如下方法:GET /st%C3%A9phane 反轉(zhuǎn)路由:用于生成某些URLRouter可以用于在一個java調(diào)用里生成一個URL。詳見。 Serve static file for home requestsGET /home staticFile:/public/html/URL 編碼由于不可能對URL解碼或重新編碼 (比如你并能確定URL里的斜線是否就是真正的斜線或%2F), URL應(yīng)該明確進(jìn)行編碼。其優(yōu)先權(quán)和標(biāo)準(zhǔn)的路由優(yōu)先權(quán)相同。服務(wù)器靜態(tài)資源staticDir: mapping使用特定的action staticDir,可以用來定位每個你打算當(dāng)作靜態(tài)資源容器進(jìn)行發(fā)布的文件夾。路由優(yōu)先級許多路由定義可能會匹配同一個請求,如果產(chǎn)生了沖突,那么只采用第一個路由(遵照下面的聲明順序)。39。context39。但是,既然第一個具有更高優(yōu)先級,‘home’時的默認(rèn)路由。home39。 render(page)。默認(rèn)的controllers包可以直接使用,因此在此包下的控制器不需要單獨指定包名。action方法必須是控制類的public static void方法,而且這個控制器類必須定義于controllers包里。如果你打算匹配這兩個URL路徑,那么你需要在路徑后增加一個/?作為結(jié)束標(biāo)志,比如:GET /clients/? 注意:在這里,除了反斜線外,URI范示不能含有任何可選部分。注意! 凡是被命名了的動態(tài)部分,控制器隨后可以從參數(shù)map里得到動態(tài)部分的值。任何動態(tài)的部分都必須使用大括號進(jìn)行界定{…},如:/clients/all將精確匹配:/clients/all但…/clients/{id}可以匹配下面的請求:/clients/12121/clients/toto一個URI范示可以有多個動態(tài)部分:/clients/{id}/accounts/{accountId}對于動態(tài)部分的默認(rèn)匹配策略使用的是正則表達(dá)式 /[^/]+/,因此,我們可以為動態(tài)部分定義自己的正則表達(dá)式。 HEAD這些方法也支持WS(web service)作為action方法來指明一個WebSocket 請求:如果使用*作為方法,則route將匹配所有的方法請求,如:* /clients/{id} 路由將接受下面兩個請求:GET /clients/1541PUT /clients/1212URI范示 PatternURI范示定義了路由的請求路徑。 PUT GET 示例:GET /clients/{id} 每個route開始于一個方法,接著是一個URL范示,最后一個元素是java調(diào)用定義。此文件列出了所有應(yīng)用程序所需要的路由。 Play把當(dāng)作關(guān)鍵特性進(jìn)行考慮,因此play框架提供了讓你完全訪問信息的能力。 協(xié)議是stateless的,也就是說你不能在服務(wù)器上為兩個連接的請求存儲任何狀態(tài)。基于正則表達(dá)式的URL范示使這個操作過程更靈活。play框架很容易創(chuàng)建RESTful風(fēng)格的應(yīng)用程序: 可緩存的Cacheable 客戶端服務(wù)器Clientserver 其表現(xiàn)形式為每個超鏈接都不帶有參數(shù)如果你正在使用,那么這些接口都是通過一系列可用的方法進(jìn)行定義。 每個資源都有唯一的可尋址URI地址 REST規(guī)定了幾個關(guān)鍵的設(shè)計原則:這個事件包含了兩個主要信息:router組件負(fù)責(zé)將請求交給對應(yīng)的Action處理(一個static/public的控制器方法)。會存在一定問題。 SigEnhancer – 為每個類的簽名計算一個唯一的哈希值,以便自動加載另外,提供了更方便的jpa查詢方法。 MailerEnhancer – ControllersEnhancer – 讓控制器的action方法實現(xiàn)線程安全,還可以為方法調(diào)用添加HTTP跳轉(zhuǎn)功能()來動態(tài)添加代碼到你的應(yīng)用程序里:比如,使用NetBeans調(diào)試器:類增強(qiáng)EnhancementPlay plugin () 可以包含‘enhancers’,以便于在運行時修改應(yīng)用程序庫,以增加功能。模板文件也是熱編譯、熱加載的。當(dāng)應(yīng)用程序在運行時,如果一個Java源文件被修改了,那么這個源文件將會在JVM里被重新編譯并進(jìn)行熱交換。PROD模式是一個十分高效的生產(chǎn)環(huán)境:java源代碼和模板將被編譯一次,并為所有的用戶進(jìn)行緩存。 configuration可以進(jìn)行切換。然而,play通過兩種環(huán)境來執(zhí)行這些過程:DEV模式用于開發(fā)階段,PROD模式用于部署階段。比如,如果你在conf/: Web fonts = application/ = application/octetstream = application/octetstream = application/xfontwoff: = lib目錄這個目錄包含了所有應(yīng)用程序需要的標(biāo)準(zhǔn)jav
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1