企業(yè)級(jí)Web開(kāi)發(fā)實(shí)戰(zhàn)

出版時(shí)間:2009-4  出版社:電子工業(yè)出版社  作者:雨虹 等編著  頁(yè)數(shù):482  
Tag標(biāo)簽:無(wú)  

前言

  最近幾年,Java和Web技術(shù)都發(fā)生了巨大的變化。對(duì)企業(yè)應(yīng)用而言,從外圍的門(mén)戶系統(tǒng)到核心的業(yè)務(wù)系統(tǒng),Web化已經(jīng)相當(dāng)普遍,隨之而來(lái)的則是計(jì)算交互模式的再一次變化。從主機(jī)應(yīng)用、C/S應(yīng)用與Web應(yīng)用,再到Enterprise Web 2.0的提出,背后體現(xiàn)的都是計(jì)算交互方式的變化。表現(xiàn)在這幾年與用戶的交互,成為技術(shù)關(guān)注的重點(diǎn)。Java Web表示層的技術(shù)多種多樣,變化也比較大?! ∝S富的用戶體驗(yàn),對(duì)企業(yè)級(jí)應(yīng)用不只是展現(xiàn)方式的炫和酷,而是通過(guò)個(gè)性化推送、用戶行為模式分析等,提高應(yīng)用系統(tǒng)實(shí)效的重要手段。根據(jù)我這幾年的咨詢經(jīng)歷,企業(yè)的領(lǐng)導(dǎo)者而不僅僅是過(guò)去的IT技術(shù)人員,都在考慮如何快速應(yīng)用新的IT交互技術(shù),從而增強(qiáng)企業(yè)的競(jìng)爭(zhēng)力。  大約在2004年年初,我的一個(gè)同事與好友在做Rich Client的項(xiàng)目。閑聊起來(lái),他向我介紹說(shuō)有個(gè)Java設(shè)計(jì)師不錯(cuò),基本功比較扎實(shí);而他的肯定通常是相當(dāng)可靠的。那是我第一次認(rèn)識(shí)了本書(shū)的作者之一雨虹,愛(ài)打太極拳的小伙子,樸實(shí)的笑容。當(dāng)時(shí)給我的印象是他真心地喜愛(ài)編程,喜歡鉆研,不僅僅看做一份工作的技能,而熱愛(ài)是最好的老師?! ∵@些年雨虹和他的團(tuán)隊(duì)出色地完成了許多項(xiàng)目,他們也都成為了有豐富經(jīng)驗(yàn)的架構(gòu)師。本書(shū)的作者們結(jié)合多年的工作經(jīng)驗(yàn),在書(shū)中詳細(xì)地介紹了Web表現(xiàn)層編程的現(xiàn)狀、發(fā)展以及大量的實(shí)踐經(jīng)驗(yàn)??傮w來(lái)看,這本書(shū)以JSF為主線,同時(shí)又介紹了Web 2.0的一些開(kāi)發(fā)技術(shù):Ajax及一些流行的Ajax框架,如ExtJS,并將兩者有機(jī)地融合起來(lái),涵蓋了Web開(kāi)發(fā)的基本方面。相信本書(shū)會(huì)為讀者提供非常有益的幫助。  新的企業(yè)級(jí)應(yīng)用將從交互模式方式上而重新改寫(xiě)。

內(nèi)容概要

本書(shū)匯集了許多大型企業(yè)級(jí)Web開(kāi)發(fā)的優(yōu)秀實(shí)踐經(jīng)驗(yàn),內(nèi)容包含了大量詳實(shí)的實(shí)例:從Web開(kāi)發(fā)基礎(chǔ),到JSF組件(RichFaces),再到純JavaScript框架(ExtJS),以及結(jié)合兩者優(yōu)點(diǎn)的ExtFaces,都詳細(xì)地進(jìn)行了分析和總結(jié),其中很多實(shí)踐解決方案和樣例代碼稍作修改就可以直接應(yīng)用于項(xiàng)目開(kāi)發(fā)之中?! 〗Y(jié)合書(shū)中的內(nèi)容,讀者可以根據(jù)自己的項(xiàng)目的特點(diǎn),采用書(shū)中的一種或者多種技術(shù)靈活地制定實(shí)際項(xiàng)目的解決方案。本書(shū)內(nèi)容廣泛,深入淺出,既適合開(kāi)發(fā)人員作為多種Web UI技術(shù)的入門(mén)指導(dǎo),也適合架構(gòu)師作為技術(shù)選型的參考手冊(cè)。

書(shū)籍目錄

第Ⅰ部分  Web UI開(kāi)發(fā)基礎(chǔ) 第1章  Web UI編程綜述  1.1  Web 2.0 介紹   1.1.1  Web的發(fā)展歷史   1.1.2  Web 2.0相關(guān)技術(shù)   1.1.3  SOA與Web 2.0  1.2  UI 編程技術(shù)   1.2.1  Rich Client Internet 編程   1.2.2  Ajax 編程   1.2.3  Ajax in JSF編程  1.3  本章小結(jié) 第2章  Ajax 基礎(chǔ)知識(shí)  2.1  Ajax的基本知識(shí)   2.1.1  Ajax基本概念   2.1.2  Ajax的基本特點(diǎn)  2.2  一切從瀏覽器說(shuō)起   2.2.1互聯(lián)網(wǎng)和HTML的誕生   2.2.2  HTML的發(fā)展  2.3  DOM 簡(jiǎn)介   2.3.1  HTML DOM 和BOM   2.3.2  DOM事件   2.3.3  DOM事件流   2.3.4  事件處理函數(shù)  2.4  CSS   2.4.1 CSS簡(jiǎn)介   2.4.2  基本的CSS語(yǔ)法   2.4.3  CSS屬性   2.4.4  CSS選擇器   2.4.5  串聯(lián)(Cascading)  2.5  JavaScript簡(jiǎn)介   2.5.1  JavaScript入門(mén)示例   2.5.2  JavaScript基本數(shù)據(jù)結(jié)構(gòu)   2.5.3  JavaScript的基本構(gòu)成   2.5.4 事件驅(qū)動(dòng)及事件處理  2.6  XML簡(jiǎn)介   2.6.1  XML的產(chǎn)生   2.6.2  XML的優(yōu)點(diǎn)   2.6.3  一個(gè)簡(jiǎn)單的XML文檔   2.6.4  XML文檔的整體結(jié)構(gòu)   2.6.5  XML文檔的實(shí)質(zhì)內(nèi)容——元素   2.6.6  字符數(shù)據(jù)與實(shí)體引用   2.6.7  標(biāo)記   2.6.8  CDATA   2.6.9  注釋  2.7  JSON簡(jiǎn)介   2.8  XMLHttpRequest對(duì)象簡(jiǎn)介   2.8.1  XMLHttpRequest對(duì)象的屬性和事件   2.8.2  XMLHttpRequest對(duì)象的方法   2.8.3  發(fā)送請(qǐng)求和處理請(qǐng)求  2.9  本章小結(jié) 第3章  Ajax框架介紹  3.1  Prototype   3.1.1  什么是Prototype   3.1.2  Prototype的下載和引入   3.1.3  Prototype常用函數(shù)介紹   3.1.4  Prototype的Ajax功能  3.2  script.aculo.us   3.2.1  script.aculo.us 簡(jiǎn)介   3.2.2  script.aculo.us 的引入和使用   3.2.3  script.aculo.us 的功能  3.3  jQuery   3.3.1  jQuery 簡(jiǎn)介   3.3.2  jQuery的使用  3.4  Sarissa   3.4.1  Sarissa 介紹   3.4.2  Sarissa的使用  3.5  本章小結(jié)第Ⅱ部分  JSF應(yīng)用開(kāi)發(fā) 第4章  JSF介紹  4.1  什么是JSF   4.1.1  JSF簡(jiǎn)介   4.1.2  JSF的體系結(jié)構(gòu)   4.1.3  為什么要使用JSF  4.2  使用條件  4.3  配置JSF   4.3.1  下載   4.3.2  安裝配置   4.3.3  HelloWorld  4.4  JSF的元素   4.4.1  UI組件   4.4.2  JSF生命周期   4.4.3  數(shù)據(jù)轉(zhuǎn)換與驗(yàn)證   4.4.4  JSF事件處理   4.4.5  JSF表達(dá)式語(yǔ)言  4.5  JSF與Spring結(jié)合  4.6  JSF解決方案   4.6.1  DataTable分頁(yè)   4.6.2  一般分頁(yè)   4.6.3  On-Demand分頁(yè)   4.6.4  Exception統(tǒng)一處理   4.6.5  Shale框架驗(yàn)證  4.7  本章小結(jié) 第5章  Facelets  5.1  Facelets簡(jiǎn)介  5.2  配置Facelets   5.2.1  下載   5.2.2  安裝和配置   5.2.3  Hello World示例  5.3  Facelets模板和擴(kuò)展機(jī)制   5.3.1  UI Component和UIInsert   5.3.2  Facelets include標(biāo)簽的的用法  5.4  Facelets自定義標(biāo)簽  5.5  本章小結(jié) 第6章  使用RichFaces  6.1  RichFaces簡(jiǎn)介  6.2  使用條件  6.3  配置RichFaces   6.3.1  下載   6.3.2  安裝及配置   6.3.3  HelloWorld示例   6.3.4  RichFaces配置進(jìn)階  6.4  RichFaces的基本原理   6.4.1  簡(jiǎn)介     6.4.2  RichFaces的體系架構(gòu)   6.4.3  如何發(fā)送Ajax請(qǐng)求   6.4.4  確定要發(fā)送的內(nèi)容   6.4.5  決定要重繪的區(qū)域  6.5  RichFaces開(kāi)發(fā)工具介紹   6.5.1  Red Hat Developer Studio   6.5.2  Eclipse WTP  6.6  RichFaces常用組件介紹   6.6.1  Ajax日志    6.6.2  Ajax監(jiān)聽(tīng)器   6.6.3  參數(shù)    6.6.4  按鈕    6.6.5  鏈接     6.6.6  Ajax狀態(tài)    6.6.7  擴(kuò)展Ajax事件    6.6.8  日歷控件    6.6.9  列表移動(dòng)   6.6.10  可排序列表   6.6.11  下拉菜單    6.6.12  模式對(duì)話框   6.6.13  面板條   6.6.14  可滾動(dòng)的數(shù)據(jù)表格   6.6.15  可折疊的面板   6.6.16  標(biāo)簽頁(yè)   6.6.17  工具提示   6.6.18  自動(dòng)完成對(duì)話框   6.6.19  樹(shù)   6.6.20  內(nèi)容菜單   6.6.21  頁(yè)面效果   6.6.22  數(shù)據(jù)表格  6.7  優(yōu)化Ajax請(qǐng)求   6.7.1  優(yōu)化Ajax隊(duì)列   6.7.2  優(yōu)化數(shù)據(jù)  6.8  異常處理   6.8.1  Ajax請(qǐng)求錯(cuò)誤處理   6.8.2  Session過(guò)期處理  6.9  局限和不足  6.10  本章小結(jié) 第7章  Seam入門(mén)  7.1  Seam簡(jiǎn)介  7.2  配置Seam   7.2.1  下載   7.2.2  安裝和配置   7.2.3  HelloWorld  7.3  Seam與JSF  7.4  再談數(shù)據(jù)表格(dataTable)   7.4.1  單純RichFaces的解決方案   7.4.2  RichFaces + Seam的解決方案  7.5  本章小結(jié)第Ⅲ部分  Ext應(yīng)用開(kāi)發(fā) 第8章  ExtJS框架的介紹和使用  8.1  JavaScript面向?qū)ο缶幊獭 ?.2  ExtJS簡(jiǎn)介及第一個(gè)例子(HelloWorld)  8.3  ExtJS布局(layout)  8.4  嵌套布局(NestedLayout)  8.5  表單組件(Ext.form.FormPanel)  8.6  樹(shù)組件(Ext.tree.TreePanel)  8.7  對(duì)話框組件(Ext.Window)  8.8  表格組件(Ext.grid.GridPanel)  8.9  菜單組件(Ext.menu.Menu)  8.10  Utility組件   8.10.1  Ajax 組件   8.10.2  Template和XTemplate組件   8.10.3  DomHelper組件  8.11  國(guó)際化  8.12  開(kāi)發(fā)工具  8.13  本章小結(jié) 第9章  DWR和JSON-RPC-Java的介紹及使用  9.1  DWR框架的介紹和使用   9.1.1  DWR基本概念   9.1.2  使用DWR   9.1.3  使用自定義對(duì)象   9.1.4  DWR的配置  9.2  JSON-RPC-Java框架的介紹和使用   9.2.1  基本概念   9.2.2  安裝和配置  9.3  DWR和JSON-RPC-Java的簡(jiǎn)單對(duì)比  9.4  本章小結(jié)第Ⅳ部分  JSF與Ext的結(jié)合應(yīng)用 第10章  基于Ext的JSF組件——ExtFaces  10.1  ExtFaces簡(jiǎn)介   10.1.1  ExtFaces的來(lái)源   10.1.2  ExtFaces采用的技術(shù)   10.1.3  JSF開(kāi)發(fā)現(xiàn)狀   10.1.4  Ext和JSF的結(jié)合方案  10.2  ExtFaces原理  10.3  ExtFaces目標(biāo)  10.4  ExtFaces組件介紹   10.4.1  簡(jiǎn)單組件   10.4.2  嵌套組件  10.5  開(kāi)發(fā)計(jì)劃  10.6  本章小結(jié)  

章節(jié)摘錄

  第Ⅰ部分 Web UI開(kāi)發(fā)基礎(chǔ)  第1章 Web UI編程綜述  1.1 Web 2.0介紹  在介紹web 2.0之前,還是讓我們從Web的發(fā)展歷史開(kāi)始說(shuō)起吧。  1.1.1web的發(fā)展歷史  1.1.1.1從無(wú)到有  web是一種典型的分布式應(yīng)用架構(gòu)。web應(yīng)用中的每一次信息交換都要涉及客戶端和服務(wù)器端兩個(gè)層面。因此,Web開(kāi)發(fā)技術(shù)大體上也可以被分為客戶端技術(shù)和服務(wù)器端技術(shù)兩大類。我們先來(lái)談?wù)効蛻舳思夹g(shù)的萌芽和演進(jìn)過(guò)程。  web客戶端的主要任務(wù)是展現(xiàn)信息內(nèi)容,而HTML語(yǔ)言則是信息展現(xiàn)的最有效載體之一。作為一種實(shí)用的超文本語(yǔ)言,HTML的歷史最早可以追溯到20世紀(jì)40年代?! ?945年,vannevar Bush在一篇文章中闡述了文本和文本之間通過(guò)超級(jí)鏈接相互關(guān)聯(lián)的思想,并在文中給出了一種能實(shí)現(xiàn)信息關(guān)聯(lián)的計(jì)算機(jī)Memex的設(shè)計(jì)方案。Doug Engelban等人則在1960年前后,對(duì)信息關(guān)聯(lián)技術(shù)做了最早的實(shí)驗(yàn)。與此同時(shí),TedNelson正式將這種信息關(guān)聯(lián)技術(shù)命名為超文本(Hypertext)技術(shù)?! ?969年,IBM的Charles Goldfarb發(fā)明了可用于描述超文本信息的GML(GeneralizedMarkup Language)語(yǔ)言。1978到1986年間,在ANSI等組織的努力下,GML語(yǔ)言進(jìn)一步發(fā)展成為著名的標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(Standard Generalized Markup Language,SGML)。  1989年,歐洲粒子物理研究所(European Council for Nuclear Research,CERN)的Tim Bemers-Lee意識(shí)到,與其簡(jiǎn)單地引用其他人的工作,為什么不干脆鏈接呢?讀一篇文章時(shí),科學(xué)家可以打開(kāi)所引用的文章。超文本(Hypertext)當(dāng)時(shí)相當(dāng)流行,并利用了他先前在文檔和文本處理方面的研究成果。Tim Bemers-Lee同時(shí)感到SGML是描述超文本信息的一個(gè)上佳方案,但美中不足的是SGMI。過(guò)于復(fù)雜,不利于信息的傳遞和解析。于是,TimBemers-Lee對(duì)SGML語(yǔ)言做了大刀闊斧的簡(jiǎn)化和完善,提出了SGML的一個(gè)子集,稱為超文本標(biāo)記語(yǔ)言(HyperText Markup Language,HTML)。TimBerhers-Lee不僅創(chuàng)建了一個(gè)稱為超文本傳輸協(xié)議(HyperText Transfer Protocol,HTTP)的簡(jiǎn)單協(xié)議,還發(fā)明了第一個(gè)Web瀏覽器,叫做WorldWideWeb。Tim Bemers-Lee提出的HTML獲得巨大的應(yīng)用,他本人也由此獲得了“互聯(lián)網(wǎng)之父”的稱號(hào)?! ?.1.1.2Web 1.0發(fā)展概述  在HTML提出之后,Web獲得了飛快的發(fā)展,下面從服務(wù)器端和客戶端兩個(gè)方面說(shuō)起?! ?.客戶端Web的發(fā)展  最初的HTML語(yǔ)言只能在瀏覽器中展現(xiàn)靜態(tài)的文本或圖像信息,這滿足不了人們對(duì)信息豐富性和多樣性的強(qiáng)烈需求——這件事情最終的結(jié)果是,由靜態(tài)技術(shù)向動(dòng)態(tài)技術(shù)的轉(zhuǎn)變成為了Web客戶端技術(shù)演進(jìn)的永恒定律?! ∧艽鎯?chǔ)、展現(xiàn)二維動(dòng)畫(huà)的GIF圖像格式早在1989年就已發(fā)展成熟。Web出現(xiàn)后,GIF第一次為HTML頁(yè)面引入了動(dòng)感元素。但更大的變革來(lái)源于1995年Java語(yǔ)言的問(wèn)世。Java語(yǔ)言天生就具備的平臺(tái)無(wú)關(guān)的特點(diǎn),讓人們一下子找到了在瀏覽器中開(kāi)發(fā)動(dòng)態(tài)應(yīng)用的捷徑。1996年,著名的Netscape瀏覽器在其2.0版中增加了對(duì)Java Applet和JavaScript的支持。Netscape的競(jìng)爭(zhēng)對(duì)手,Microsoft的IE 3.0瀏覽器也在這一年開(kāi)始支持.Java技術(shù)?,F(xiàn)在,開(kāi)發(fā)人員可以用Java和JavaScript語(yǔ)言開(kāi)發(fā)豐富HTML頁(yè)面的功能了。順便說(shuō)一句,JavaScript語(yǔ)言在所有客戶端開(kāi)發(fā)技術(shù)中占有非常獨(dú)特的地位:它是一種以腳本方式運(yùn)行的、簡(jiǎn)化了的.Java語(yǔ)言,這也是腳本技術(shù)第一次在Web世界里嶄露頭角。為了用Microsoft的技術(shù)與JavaScript抗衡,Microsoft還為1996年的IE 3.0設(shè)計(jì)了另一種后來(lái)也聲名顯赫的腳本語(yǔ)言——VBScript語(yǔ)言?! ≌嬲孒TML頁(yè)面表現(xiàn)更加豐富和強(qiáng)大的,則是CSS(Cascading Style Sheets)和DHTML(Dynamic HTML)技術(shù)。1996年年底,W3C提出了CSS的建議標(biāo)準(zhǔn),同年,IE 3.0引入了對(duì)CSS的支持。CSS大大提高了開(kāi)發(fā)者對(duì)信息展現(xiàn)格式的控制能力。1997年的Netscape 4.0不但支持CSS,而且增加了許多Netscape公司自定義的動(dòng)態(tài)HTML標(biāo)記,這些標(biāo)記在CSS的基礎(chǔ)上,讓HTML頁(yè)面中的各種要素相互交互。1997年,Microsoft發(fā)布了IE 4.0,并將動(dòng)態(tài)HTML標(biāo)記、CSS和動(dòng)態(tài)對(duì)象模型(DHTML Object Model)發(fā)展成了一套完整、實(shí)用、高效的客戶端開(kāi)發(fā)技術(shù)體系,Microsoft稱其為DHTML。同樣是實(shí)現(xiàn)HTML頁(yè)面的動(dòng)態(tài)效果,DHTML技術(shù)無(wú)須啟動(dòng)Java虛擬機(jī)或其他腳本環(huán)境,可以在瀏覽器的支持下,獲得更好的展現(xiàn)效果和更高的執(zhí)行效率?! 榱嗽贖TML頁(yè)面中實(shí)現(xiàn)音頻、視頻等更為復(fù)雜的多媒體應(yīng)用,1996年的NetscaDe 2.0成功地引入了對(duì)QuickTime插件的支持,插件這種開(kāi)發(fā)方式也迅速風(fēng)靡了瀏覽器的世界。在Windows平臺(tái)上,Microsoft將客戶端應(yīng)用集中在了20世紀(jì)90年代中期剛剛問(wèn)世的COM和ActiveX身上。1996年,IE 3.0正式支持在HTML頁(yè)面中插入ActiveX控件的功能,這為其他廠商擴(kuò)展Web客戶端的信息展現(xiàn)方式開(kāi)辟了一條自由之路。1999年,RealPlayer插件先后在Netscape和IE瀏覽器中取得了成功,與此同時(shí),Microsoft將媒體播放軟件Media Player也被預(yù)裝到了各種Windows版本之中。同樣值得紀(jì)念的還有Flash插件的橫空出世:20世紀(jì)90年代初期,Jonathan Gay在Futurewave公司開(kāi)發(fā)了一種名為Future Splash Animator的二維矢量動(dòng)畫(huà)展示工具,1996年,Macromedia公司收購(gòu)了FutureWave,并將Jonathan Gay的發(fā)明改名為我們熟悉的Flash。從此,F(xiàn)lash動(dòng)畫(huà)成了Web開(kāi)發(fā)者表現(xiàn)自我、展示個(gè)性的最佳方式。  除了編寫(xiě)HTML頁(yè)面之外,客戶端應(yīng)用的開(kāi)發(fā)者還可以利用一些成熟的技術(shù)將瀏覽器的功能添加到自己的應(yīng)用程序中。從1992年開(kāi)始,W3C就免費(fèi)向開(kāi)發(fā)者提供libwww開(kāi)發(fā)厙。借助libwww,我們可以自己編寫(xiě)Web瀏覽器和Web搜索工具,也可以分析、編輯或顯示HTML頁(yè)面。1999年,Microsoft在IE 5.0中引入的HTAs(HTMLApplications)技術(shù)則允許我們直接將HTML頁(yè)面轉(zhuǎn)換為一個(gè)真正的應(yīng)用程序。從1997年的IE 4.0開(kāi)始,  Microsoft為開(kāi)發(fā)者提供了WebBrowser控件和其他相關(guān)的COM接口,允許程序員在自己的程序中直接嵌入瀏覽器窗口,或調(diào)用各種瀏覽器的功能,如分析或編輯HTML頁(yè)面等。Windows 98及其后的Windows操作系統(tǒng)甚至還利用WSH(Windows Script Host)技術(shù)將原本只在瀏覽器中運(yùn)行的JavaScript、VBScript變成了可以在Win32環(huán)境下使用的通用腳本語(yǔ)言,這些都極大地?cái)U(kuò)展和增強(qiáng)了Web客戶端開(kāi)發(fā)技術(shù)?! ?.服務(wù)器端技術(shù)的成熟與發(fā)展  與客戶端技術(shù)從靜態(tài)向動(dòng)態(tài)的演進(jìn)過(guò)程類似,Web服務(wù)器端的開(kāi)發(fā)技術(shù)也是由靜態(tài)向動(dòng)態(tài)逐漸發(fā)展、完善起來(lái)的?! ∽钤绲腤eb服務(wù)器簡(jiǎn)單地響應(yīng)瀏覽器發(fā)來(lái)的HTTP請(qǐng)求,并將存儲(chǔ)在服務(wù)器上的HTML文件返回給瀏覽器。一種名為SSl(Server Side Includes)的技術(shù)可以讓W(xué)eb服務(wù)器在返回HTML文件前,更新HTML文件的某些內(nèi)容,但其功能非常有限。第一種真正使服務(wù)器能根據(jù)運(yùn)行時(shí)的具體情況,動(dòng)態(tài)生成HTML頁(yè)面的技術(shù)是大名鼎鼎的CGI(Common Gateway Interface)技術(shù)。1993年,CGI 1.0的標(biāo)準(zhǔn)草案由NCSA(NationaI Center for Super computing Applications)提出;  以享受到信息檢索、信息交換、信息處理等更為便捷的信息服務(wù)。  早期的CGI程序大多是編譯后的可執(zhí)行程序,其編程語(yǔ)言可以是C、C++、Pascal等任何通用的程序設(shè)計(jì)語(yǔ)言。為了簡(jiǎn)化CGI程序的修改、編譯和發(fā)布過(guò)程,人們開(kāi)始探尋用腳本語(yǔ)言實(shí)現(xiàn)CGI應(yīng)用的可行方式。在此方面,不能不提的是Larry Wall于1987年發(fā)明的Perl語(yǔ)言。Perl結(jié)合了C語(yǔ)言的高效,以及sh、awk等腳本語(yǔ)言的便捷,似乎天生就適用于CGI程序的編寫(xiě)。1995年,第一個(gè)用Perl寫(xiě)成的CGI程序問(wèn)世。很快,Perl在CGI編程領(lǐng)域的風(fēng)頭就蓋過(guò)了它的前輩C語(yǔ)言。隨后,Python等著名的腳本語(yǔ)言也陸續(xù)加入了CGI編程語(yǔ)言的行列。  1994年,Rasmus Lerdorf發(fā)明了專用于Web服務(wù)器端編程的PHP(Personal HomePage Tools)語(yǔ)言。與以往的CGI程序不同,PHP語(yǔ)言將HTML代碼和PHP指令合成為完整的服務(wù)器端動(dòng)態(tài)頁(yè)面,Web應(yīng)用的開(kāi)發(fā)者可以用一種更加簡(jiǎn)便、快捷的方式實(shí)現(xiàn)動(dòng)態(tài)Web功能?! ?996年,Microsoft借鑒PHP的思想,在其Web服務(wù)器IIS 3.0中引入了ASP技術(shù),ASP使用的腳本語(yǔ)言是我們熟悉的VBScript和JavaScript。借助Microsoft visualStudio等開(kāi)發(fā)工具在市場(chǎng)上的成功,ASP迅速成為了Windows系統(tǒng)下Web服務(wù)器端的主流開(kāi)發(fā)技術(shù)。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    企業(yè)級(jí)Web開(kāi)發(fā)實(shí)戰(zhàn) PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7