国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Appweb與ejscript工作模式

appweb3內(nèi)核

Appweb3的內(nèi)核使用c語言編寫,而不是像appweb2中使用c++,這樣做增加了對(duì)某些平臺(tái)的可移植性。The ejscript web 框架代替了Embedded Sever Page.

ejs和esp對(duì)比

appwebejs是作為esp的升級(jí)版,esp是一個(gè)小型的javascript的子集;而ejs支持這些功能的同時(shí)還具有更加強(qiáng)大的功能。對(duì)應(yīng)ejsesp的比較:

1、ejs完全支持ECMAScript-262語言,而不是簡(jiǎn)單的javascript子集。

2、對(duì)應(yīng)VM設(shè)計(jì)具有更高的性能。

3、獨(dú)立的javascript編譯器。

4、高速的預(yù)編譯器。

5、支持MVC框架

6、支持完整的sqlite數(shù)據(jù)庫

7、支持Ajax

8、擴(kuò)展類庫

9、網(wǎng)頁模板引擎

10、appweb里面集成了擴(kuò)展完整的HTTP服務(wù)

11、支持E4X XML解析器

12、更高的性能

13、更小的資源占用

14、對(duì)于大型的javascript應(yīng)用程序更好的支持。

對(duì)于請(qǐng)求與響應(yīng):

appweb3中定制對(duì)象和屬性,使用一個(gè)http對(duì)象來存儲(chǔ)關(guān)于服務(wù)的信息。

1Reques對(duì)象存儲(chǔ)關(guān)于請(qǐng)求的信息;

2Response對(duì)象用來存儲(chǔ)關(guān)于響應(yīng)的信息;

3、對(duì)應(yīng)表單的處理將appweb2form對(duì)象改名為params對(duì)象;

Eg

  1. if (request.method == "POST") {
  2.     var ok = params["ok"]
  3.     if (ok == "Cancel") {
  4.         redirect(request.referrer)
  5.     } else if (ok == "New Session") {
  6.         destroySession()
  7.         createSession(120)
  8.     } else if (ok == "Ok") {
  9.         session["name"] = params.name
  10.         session["address"] = params.address
  11.     }
  12. }
  13. write("Using session: " + request.sessionID)

關(guān)于appweb使用ejs

注釋:appweb中包含了ejscript命令行,為了和安裝的ejscript其他版本命令行不沖突,將其進(jìn)行了重命名。傳統(tǒng)的Ejscript命令行以ejs作為前綴。在appweb里面使用ajs作為前綴。Eg:在appweb里面應(yīng)用程序產(chǎn)生器為ajs,而Ejscript里面叫做ejs。

主要的Ejscript框架組成:

Web Server Interface-框架處理程序;

Application Generator-應(yīng)用程序產(chǎn)生器;

Web Page Parser-web頁面解析器;

Framework Class-MVC,Http Request and Ajax view classes

Ejscript compiler- Creates and caches application byte code

Ejscript VirtualMachine - executes the byte code and formats the response;

 

數(shù)據(jù)接收與處理

網(wǎng)絡(luò)接口在數(shù)據(jù)傳入后,將表單數(shù)據(jù)轉(zhuǎn)換成合適的格式,便于Ejscript應(yīng)用程序處理。傳統(tǒng)上,表單數(shù)據(jù)傳遞到web應(yīng)用程序的環(huán)境變量。這種格式顯得比較笨拙,不能很好的映射到一個(gè)面向?qū)ο蟮恼Z言。Egjavascript;

Ejscript使用params[]代替了環(huán)境變量采集和透明的將表單數(shù)據(jù)轉(zhuǎn)換成一個(gè)嵌套集合的對(duì)象。

    網(wǎng)絡(luò)接口創(chuàng)建請(qǐng)求,響應(yīng)和主機(jī)存儲(chǔ)狀態(tài)等反應(yīng)請(qǐng)求狀態(tài)的對(duì)象。避免了使用虛擬的創(chuàng)建方式,使得應(yīng)用程序訪問請(qǐng)求狀態(tài)時(shí)產(chǎn)生最小的開銷。

解釋器主機(jī):

    一個(gè)高性能的web服務(wù)器必須接受傳入的請(qǐng)求,路由到適當(dāng)?shù)恼?qǐng)求處理程序,初始化處理程序,包括必要的解釋,響應(yīng)數(shù)據(jù)的收集傳輸?shù)娇蛻舳?,然后傳入處理程序。這些必須做很多次,理想的是每秒數(shù)百次的動(dòng)態(tài)內(nèi)容。

    為了有效的做到這一點(diǎn),Ejscript預(yù)創(chuàng)建一個(gè)主解釋器實(shí)例。當(dāng)傳入的請(qǐng)求到達(dá)時(shí),網(wǎng)路接口快速克隆這個(gè)主解釋實(shí)例,致力于創(chuàng)建一個(gè)輕量級(jí)的副本??寺±孟到y(tǒng)類型和網(wǎng)絡(luò)的主框架,所有需要最小的初始化工作,然后就可以開始提供web請(qǐng)求。

    克隆解釋器并非完全隔離。共享控制會(huì)話狀態(tài)通過session[]application[]對(duì)象。

Model,ViewControllerFramework:模型-視圖-控制器框架;

該模型包括數(shù)據(jù)庫應(yīng)用程序的狀態(tài)管理??刂破鞴芾響?yīng)用程序,響應(yīng)的輸入和效用響應(yīng)的視圖來生成用戶界面。

 

應(yīng)用程序產(chǎn)生器

Web框架支持兩種ejscript web應(yīng)用。

1、簡(jiǎn)單獨(dú)立的web頁面(這個(gè)就是我們經(jīng)常使用的);

2、ejscript MVC應(yīng)用;

獨(dú)立網(wǎng)頁使用嵌入式Ejscript的代碼,但不使用完整的的模型視圖Controlller范例,也沒有使用應(yīng)用程序生成。他們通常使用“Post-Back”模式的表單數(shù)據(jù)回發(fā)到同一頁上。沒有控制器,模型和視圖布局。

MVC應(yīng)用變得越來越強(qiáng)大,它們擁有數(shù)據(jù)庫模型,控制器,視圖和布局,使用應(yīng)用程序生成器ajsweb就可以開始運(yùn)行。這樣會(huì)創(chuàng)建一個(gè)應(yīng)用程序目錄,并填入必要的目錄,配置文件和申請(qǐng)存根。

步驟:1、ajsweb –v generate app mytestName //mytestName就是我們創(chuàng)建的目錄名稱。

         2、ajsweb –v compile

 

Web Page Parser:網(wǎng)頁解析器

網(wǎng)頁分析器是一個(gè)模板引擎和嵌入的腳本解析器。理解并處理嵌入的javascript和展開視圖內(nèi)容頁的布局命令,并創(chuàng)建一個(gè)符合的表示整個(gè)頁面。

網(wǎng)頁解析器讀取頁面視圖頁面包含的嵌入ejscript代碼(擴(kuò)展名為”*.ejs”)。它融合與布局的頁面的內(nèi)容頁,并將它轉(zhuǎn)換為一個(gè)純粹的ejscript程序(通過.es擴(kuò)展)最終生成一個(gè)用戶開到的頁面。

網(wǎng)頁分析器支持下面的網(wǎng)頁指令。這些可以用在布局或者內(nèi)容頁面:

<%=ejscript %>;該指令將計(jì)算表達(dá)式的值

@@variable;作為<%=%>的一種快捷訪問方式

<%ejscript code%>指令將調(diào)用ejscriptcode。

<% include “filename”%>包含頭文件進(jìn)來

<%@ layout “file”%>指定布局頁面。

關(guān)于模塊的產(chǎn)生

  1. MprModule *maSimpleModuleInit(MaHttp *http)
  2. {
  3.     MprModule *module;
  4.     module = mprCreateModule(http, "simpleHandler", "1.0.0",
  5.         NULL, NULL, NULL);
  6.     if (module == 0) {
  7.         return 0;
  8.     }
  9.     return module;
  10. }

 

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
linux下appweb+ejscript+netsnmp開發(fā)web應(yīng)用
使用JAVASCRIPT開發(fā)桌面與WEB程序
使用 AngularJS 開發(fā)一個(gè)大規(guī)模的單頁應(yīng)用(SPA)
跨越邊界: Ajax on Rails
在應(yīng)用程序中使用 Ajax 的時(shí)機(jī)
開發(fā)人員不容錯(cuò)過的十五款最佳JavaScript框架
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服