久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

CHAPTER 1 Web 開(kāi)發(fā)基礎(chǔ) - Velocity空間 - BlogJava

 木木的陽(yáng)光 2011-03-23

如果你還記得大約10年前的時(shí)候,,或許你已經(jīng)了解WWW起初是如何工作。TelnetFTP是最早的溝通方式,。雖然這些技術(shù)不能直接用于WEB,,但他們的確是WWW的先驅(qū)。

很快,,新的技術(shù)不斷出現(xiàn),,使WEB開(kāi)發(fā)變得越來(lái)越強(qiáng)大,本書主要探索最近幾年才出現(xiàn)的WEB技術(shù)的一部分:向客戶端提供動(dòng)態(tài)數(shù)據(jù)顯示,。我們主要關(guān)注一個(gè)名叫Velocity的新技術(shù),。

在這一節(jié)里,我們將向你展現(xiàn)WEB開(kāi)發(fā)歷史的概覽,。

靜態(tài)WEB頁(yè)面

一切都是從靜態(tài)頁(yè)面開(kāi)始的,,靜態(tài)頁(yè)面只能呈現(xiàn)一些靜態(tài)的內(nèi)容,它不能從數(shù)據(jù)庫(kù)或其他應(yīng)用里提取數(shù)據(jù),。比較接近于“所見(jiàn)既所得”的表現(xiàn)方式,。

靜態(tài)頁(yè)面最大的問(wèn)題是不能提供動(dòng)態(tài)內(nèi)容,以滿足不同用戶的需要,。隨著WEB技術(shù)的發(fā)展,,開(kāi)始有了用于WEB開(kāi)發(fā)的動(dòng)態(tài)技術(shù)。

CGI介紹

CGI (Common Gateway Interface)公共網(wǎng)關(guān)接口對(duì)WEB開(kāi)發(fā)有著重要的意義,。于1993年開(kāi)發(fā)出來(lái),, CGI 是第一個(gè)通過(guò)服務(wù)器后端處理后向客戶提供動(dòng)態(tài)信息的WEB開(kāi)發(fā)技術(shù)。

在使用CGI的時(shí)候,,應(yīng)用的動(dòng)作一般由高級(jí)語(yǔ)言書寫,,比如C,,PerlC++CGI通過(guò)網(wǎng)頁(yè)窗體的按鈕事件獲取用戶輸入,,并返回最終結(jié)果給用戶,。

Listing 1.1 CGI示例(C語(yǔ)言書寫)

int main(int argc, char* argv[]) {

printf("content-type: text/html"r"n");

printf(""r"n");

printf("<html><body>");

printf("<h1>Hello World!</h1>");

printf("</body></html>"n");

return(0);

}

因?yàn)?/span>CGI應(yīng)用執(zhí)行在WEB服務(wù)器端,安全性就非常重要,。許多服務(wù)器需要CGI應(yīng)用放置到文件夾/cgi-bin下,。除此而外,服務(wù)器不允許執(zhí)行任何程序,。

Scripting: JSP/ASP/PHP

正如你所了解的一樣,,使用CGIPerlC++進(jìn)行WEB開(kāi)發(fā)對(duì)WEB設(shè)計(jì)者來(lái)說(shuō)是非常困難的。也就是說(shuō)WEB設(shè)計(jì)者只有完全掌握這些高級(jí)語(yǔ)言后才能進(jìn)行WEB開(kāi)發(fā),。

和這些高級(jí)語(yǔ)言不同的時(shí),,腳本語(yǔ)言通過(guò)解釋程序執(zhí)行,他們很容易學(xué)習(xí)并用于WEB程序開(kāi)發(fā),。解釋程序由高級(jí)語(yǔ)言編寫,,在HTTP服務(wù)器端加載,丟棄了CGI接口,。腳本語(yǔ)言通過(guò)在HTML文檔中嵌入語(yǔ)句和腳本語(yǔ)言關(guān)鍵字來(lái)向客戶端遞送動(dòng)態(tài)信息。

Listing 1.2 腳本語(yǔ)言示例

<HTML>

<HEAD>

<TITLE>Time Example</TITLE>

</HEAD>

<BODY>

The time is <?php time() ?>

</BODY>

</HTML>

In Listing 1.2,我們?cè)黾恿艘恍┠_本用于顯示當(dāng)前時(shí)間,。當(dāng)用戶瀏覽該頁(yè)的時(shí)候,,他們將通HTTP服務(wù)器得到當(dāng)前時(shí)候。

嵌入腳本的頁(yè)面雖然看起來(lái)像HTML頁(yè)面,。然后,,其后綴不能是.html.htm。只能是對(duì)應(yīng)的后綴,,比如:.jsp,,.asp.php等,。這些擴(kuò)展名非常重要,,它主要是用于告訴服務(wù)器該頁(yè)面是否需要進(jìn)行服務(wù)器端處理。如果需要進(jìn)行處理,,解釋程序?qū)⒛_本代碼進(jìn)行后臺(tái)運(yùn)算,,最后將運(yùn)算結(jié)果以標(biāo)準(zhǔn)的HTML形式嵌入HTML文檔中返回給客戶。

未來(lái)的發(fā)展

當(dāng)我們?cè)谟懻撃_本語(yǔ)言的時(shí)候,,你應(yīng)該關(guān)注以下可用到的腳本語(yǔ)言——如JavaScript,,Java,和ActiveX,。Listing 1.3展現(xiàn)了一個(gè)用Java腳本寫的HTML頁(yè)面,。

<%@ page language='java' import='java.sql.*' %>

<HTML>

<HEAD>

<TITLE>Test</TITLE>

</HEAD>

<%

ResultSet rs;

try {

Class.forName("com.mysql.jdbc.Driver");

connection = DriverManager.getConnection(

"jdbc:mysql://localhost/products");

statement = connection.createStatement();

%>

<BODY>

</BODY>

</HTML>

Listing 1.3 Using Java in an HTML page.

HTML頁(yè)面中嵌入Java腳本是為了讓WEB站點(diǎn)具有動(dòng)態(tài)處理的能力,。你不僅需要了解Java,同時(shí)也需要了解在服務(wù)器端執(zhí)行的Java代碼是如何編寫的,。

我們討論很多不同類型的動(dòng)態(tài)頁(yè)面技術(shù),,但他們都有一個(gè)共同點(diǎn),就是將顯示和商業(yè)邏輯混雜在一起,。在下一節(jié)里,,我們將討論混雜編程是多么的令人頭痛。

本章小節(jié)和下章介紹

這一章里,,我們分析了WEB頁(yè)面的開(kāi)發(fā)歷史,。下一節(jié),我們將討論WEB開(kāi)發(fā)的方法學(xué),,并且主要關(guān)注MVC模式,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多