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

分享

asp

 小睡仙 2008-12-08

asp

目錄
概述
ASP的工作原理
ASP的運行環(huán)境
ASP的意涵與特性
ASP常用內(nèi)置函數(shù)
ASP常用函數(shù)介紹

    概述

      ASP是Active Server Page的縮寫,,意為“動態(tài)服務器頁面”,。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應用,它可以與數(shù)據(jù)庫和其它程序進行交互,是一種簡單,、方便的編程工具,。ASP的網(wǎng)頁文件的格式是.asp,現(xiàn)在常用于各種動態(tài)網(wǎng)站中,。 ASP是一種服務器端腳本編寫環(huán)境,,可以用來創(chuàng)建和運行動態(tài)網(wǎng)頁或Web應用程序。ASP網(wǎng)頁可以包含HTML標記,、普通文本,、腳本命令以及COM組件等。利用ASP可以向網(wǎng)頁中添加交互式內(nèi)容(如在線表單),,也可以創(chuàng)建使用HTML網(wǎng)頁作為用戶界面的web應用程序,。 與HTML相比,ASP網(wǎng)頁具有以下特點:
     ?。?)利用ASP可以實現(xiàn)突破靜態(tài)網(wǎng)頁的一些功能限制,,實現(xiàn)動態(tài)網(wǎng)頁技術;
     ?。?)ASP文件是包含在HTML代碼所組成的文件中的,,易于修改和測試;
     ?。?)服務器上的ASP解釋程序會在服務器端制定ASP程序,,并將結(jié)果以HTML格式傳送到客戶端瀏覽器上,因此使用各種瀏覽器都可以正常瀏覽ASP所產(chǎn)生的網(wǎng)頁,;
     ?。?)ASP提供了一些內(nèi)置對象,使用這些對象可以使服務器端腳本功能更強,。例如可以從web瀏覽器中獲取用戶通過HTML表單提交的信息,,并在腳本中對這些信息進行處理,然后向web瀏覽器發(fā)送信息,;
     ?。?)ASP可以使用服務器端ActiveX組件來執(zhí)行各種各樣的任務,例如存取數(shù)據(jù)庫,、發(fā)現(xiàn)和那個Email或訪問文件系統(tǒng)等,。
     ?。?)由于服務器是將ASP程序執(zhí)行的結(jié)果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,,可防止ASP程序代碼被竊取

    ASP的工作原理

      
      當在Web站點中融入ASP功能后,,將發(fā)生以下事情:
      1、用戶向瀏覽器地址欄輸入網(wǎng)址,,默認頁面的擴展名是.asp,。
      2、瀏覽器向服務器發(fā)出請求,。
      3,、服務器引擎開始運行ASP程序。
      4,、ASP文件按照從上到下的順序開始處理,,執(zhí)行腳本命令,執(zhí)行HTML頁面內(nèi)容,。
      5,、頁面信息發(fā)送到瀏覽器。

    ASP的運行環(huán)境

      asp需要運行在PWSIIS下,。PWS或IIS服務在windows98或windows2000的光盤上附帶著,,可以通過“添加/刪除程序”中的“添加/刪除windows組件”來安裝。
      一般asp需與access數(shù)據(jù)庫或SQL Server數(shù)據(jù)庫結(jié)合使用,,編出功能強大的程序,。
      能夠運行ASP的web服務器軟件
      Windows2000默認安裝的是IIS5.0(internet information server),而windows xp默認安裝的是IIS5.1,,windows 2003默認安裝的IIS6.0,。
      PWS(personal web server)運行在windows98環(huán)境下的簡單個人網(wǎng)頁服務器,現(xiàn)在新的Windows Vista帶有的IIS是7.0版本,,雖然Windows Server 2008所帶的IIS也是7.0,,但是功能更加強大。

    ASP的意涵與特性

      ASP( Application Service Provider,應用軟體租賃服務提供者 )即是指「透過網(wǎng)路以租賃方式提供應用軟體服務的業(yè)者」,即是指業(yè)者以應用軟體為主體,透過網(wǎng)路一對多地傳遞服務,這種以服務為主的交易模式促使企業(yè)可藉由租賃的方式,以更符合成本效益的方式擁有軟體的使用權,并且亦能因為業(yè)者集中式的管理而大幅降低企業(yè)維護的成本.
      基本上,ASP即具有「軟體服務化,服務網(wǎng)路化」,「資訊委外服務與網(wǎng)路結(jié)合」與「產(chǎn)品通路化,通路產(chǎn)品化」等三大特性,其甚至可以被視為是ISP(Internet Service Provider)與ITS(Information Technology Service)的結(jié)合.
      ASP的英文是Application Service Provider,,中文的標準翻譯就是“應用服務提 供商”,,是指為商業(yè)或者個人客戶提供管理應用解決方案的公司或者企業(yè)。最近 ASP被媒體炒做十分火熱,,不是IT行業(yè)的人面對一堆技術名詞專業(yè)術語很難弄清楚ASP的內(nèi)容,,本文試圖用淺顯的語言來為廣大的讀者揭開ASP神秘的面紗,對于IT行業(yè)的大熱門ASP領域有一些基本的認識,。
      1. ASP是什么東西?
      簡單地講,,ASP就是為客戶提供服務的服務商,,它和會計事物所,、婚姻介紹所沒有什么本質(zhì)方面的區(qū)別。不同的是ASP主要是通過INTERNET(國際互聯(lián)網(wǎng)絡)作為主要工作和業(yè)務工具,,采用一對多的方式,,向企業(yè)、公司提供標準化的應用軟件以及相關的技術咨詢,、管理租賃的服務,,ASP的概念最早是1998年由美國人提出來的。目前被全球各大IT廠商看好并被認為是可以推動網(wǎng)絡經(jīng)濟發(fā)展的,,有穩(wěn)固基礎的第三種網(wǎng)絡商業(yè)模式,。
      和傳統(tǒng)的外包服務(Outsourcing)相比,ASP的主要區(qū)別在于:ASP是一對多的經(jīng)營模式,,提供的服務有兼容性和可協(xié)調(diào)性,,并且ASP的收費方式一般是按月收費。
      業(yè)界認為:ASP一般有這樣一些“成員”:電信運營商,、傳統(tǒng)IT服務廠商,、互聯(lián)網(wǎng)絡接入服務商(ISP)、獨立軟件供應商(ISV),、系統(tǒng)集成商和單純的ASP公司,。
      根據(jù)流行的觀點,ASP有如下五個核心內(nèi)涵:
      a. ASP著重應用為中心,,提供對于應用方面的訪問和管理,。
      b. ASP服務可以為用戶提供沒有在服務器、人員,、系統(tǒng)和系統(tǒng)授權等前期資源投入情況下就可以在“定制”的全新應用系統(tǒng)環(huán)境進行訪問的服務,,如ISP,而這樣的服務一般按月份ASP收取服務費,。
      c. ASP采用集中管理的方式---ASP一般都有一個管理中心,,所有的客戶通過INTERNET來進行遠程訪問,獲得技術支持和咨詢服務,。
      d. 一對多的服務,,也就是講,ASP提供的是標準化的產(chǎn)品包,,產(chǎn)品都是最低程度的自定義或者沒有實現(xiàn)客戶定制化,,對于行業(yè)用戶來講已經(jīng)達到實用方便的標準。
      e. 按照合同交付,,在ASP客戶的眼中,,ASP是一家根據(jù)客戶協(xié)議內(nèi)容提供相關服務,保證應用服務系統(tǒng)服務可以得到確實履行的機構(gòu)。
      2. ASP為什么會火,?
      從大的方面來講,,困擾國內(nèi)企業(yè)生存、發(fā)展的核心問題是管理問題,。隨著互聯(lián)網(wǎng)絡的普及和應用的深入,,企業(yè)用戶可以隨時隨地直接租用ASP的服務器和軟件系統(tǒng)來進行自己的業(yè)務管理,這樣做的好處在于,;第一,,企業(yè)可以節(jié)省大筆用于IT建設方面的資金,大幅度降低企業(yè)管理信息化的成本,。第二,,ASP的用戶可以采用各種方式獲得應用和服務,軟件類服務產(chǎn)品完全可以通過網(wǎng)絡在非常短的時間內(nèi)組成一個完善的,、高效的,、先進的企業(yè)管理系統(tǒng),迅速獲得企業(yè)一體化的運營管理方案,。
      網(wǎng)絡經(jīng)濟發(fā)展突飛猛進,,電子商務一日千里,網(wǎng)絡和網(wǎng)站從門戶到內(nèi)容,、從注意力到垂直性,,目前逐漸轉(zhuǎn)向熱衷ASP也是一個主要的原因。
      筆者資料中,,國內(nèi)最早對ASP觸電的是網(wǎng)友“飛鳥”,,在1998年6月自發(fā)組織了研究、交流和探討ASP技術的“飛鳥之家”,,現(xiàn)在已經(jīng)發(fā)展成為chinaasp.com,,成為國內(nèi)最早的ASP應用技術服務提供商網(wǎng)站。上海的互易網(wǎng)絡有限公司結(jié)合國內(nèi)實際情況,,推出了為國內(nèi)企業(yè)服務的ASP平臺互易網(wǎng),,向企業(yè)提供以電子商務為核心的,企業(yè)內(nèi),、外部網(wǎng)絡設施和應用的遠程構(gòu)架和托管服務,,創(chuàng)造虛擬企業(yè)門戶(EP)直接將ASP應用到商業(yè)增殖環(huán)節(jié)中去。
      此外,,ISP也全面轉(zhuǎn)向ASP的懷抱,,成為ISP進一步發(fā)展的產(chǎn)物。軟件商對于ASP更是情有獨鐘,。業(yè)界最新的消息是,,中國第三電信“網(wǎng)通”已經(jīng)制定ASP發(fā)展戰(zhàn)略,國內(nèi)最大的管理咨詢公司“漢普”將把旗下八個子公司定位在企業(yè)內(nèi)部資源計劃管理(ERP)領域的ASP中,北京“聯(lián)成互動”瞄準客戶關系管理(CRM)領域的ASP,,北京“數(shù)碼方舟”定位在網(wǎng)絡辦公的ASP,,HP正在和中國建設銀行討論共建金融領域的ASP。
      ASP正在IT經(jīng)濟大潮中顯山露水,,其發(fā)展前景不可估量。
      3. ASP的發(fā)展階段和面臨的問題
      以網(wǎng)絡服務商,、軟件廠商和ISP為主力的各種IT角色,,正在根據(jù)自己的優(yōu)勢條件出發(fā)對ASP領域進行多種方面的嘗試。就目前階段來講,,ASP提供的服務不計其數(shù)五花八門,,沒有標準化和量化的概念,硬件廠商向ASP的“土壤”和勢力方向靠攏,,軟件廠商和ISP則直接參與到ASP業(yè)務的第一線,。
      筆者估計,經(jīng)過一段時間的試探和發(fā)展,,ASP將向服務集成方面發(fā)展,,產(chǎn)品和服務初步的標準化將很快建立起來,接著進入到市場細化和標準制定,、ASP產(chǎn)品成熟時期,,ASP的穩(wěn)步增長,最終將成為IT行業(yè)商務模式的核心,!
      目前在ASP發(fā)展的道路上,,主要面臨的問題是觀念的轉(zhuǎn)變方面:用租賃代替購買,服務集成代替產(chǎn)品經(jīng)銷商,、服務經(jīng)濟代替產(chǎn)品經(jīng)濟等等,。具體到實際方面來講,安全和服務的質(zhì)量是ASP和客戶共同關心的頭等大事,,要實現(xiàn)ASP提出的“租賃高科技”的口號,,ASP任重而道遠!

    ASP常用內(nèi)置函數(shù)

      在ASP中,,把帶有返回值的這樣的一段代碼叫做函數(shù),。例如通過編寫一段代碼計算出一個自然數(shù)是否是質(zhì)數(shù),返回給調(diào)用程序,,由于調(diào)用程序需要知道那個自然數(shù)是否是質(zhì)數(shù),,所以必須要返回一個值。
      1,,日期/時間函數(shù)
      這些函數(shù)包括對“年”,、“月”、“日”、“時”,、“分”,、“秒”、“星期”等的顯示,。
     ?。?)Now函數(shù):根據(jù)計算機系統(tǒng)設定的日期和時間,返回當前的日期和時間值,。使用方法now(),;
      (2)Date函數(shù):只返回當前計算機系統(tǒng)設定的日期值,。使用方法:date(),;
      (3)Time函數(shù):只返回當前計算機系統(tǒng)設定的時間值,。使用方法:time(),;
      (4)Year函數(shù):返回一個代表某年的整數(shù),。使用方法:year(date),,其中date參數(shù)是任意的可以代表日期的參數(shù),比如“year(date())”就表示是從“date()”得出的日期中提取其中“年”的整數(shù),。
      另外,,還可以這樣應用:“year(#5 20,2006#)”表示提取“2006年5月20日”中“年”的整數(shù)值。關于“5 20,2006”,,也可使用“5-20-2006”,、“5/20/2006”等形式表現(xiàn),即“某月某日”和“某年”的組合,。同時注意使用“#”進行包括以表示日期值,。
      (5)Month函數(shù):返回1到12之間的整數(shù)值,,表示一年中某月,。使用方法:month(date)。關于參數(shù)date的說明和year函數(shù)相同,。但要注意日期的正確性,,比如“#13-31-2006#”,根本就沒有“13”月,,肯定是錯誤的了,。
      (6)Day函數(shù):返回1到31之間的整數(shù)值,,表示一個月中的某天,。使用方法:day(date),。關于參數(shù)date的說明和year函數(shù)相同。同樣要注意日期的正確性,,比如“#2-30-2006#”其中對“2”月定義的“30”日這天就是錯誤的,。
      (7)Hour函數(shù):返回0到23之間的整數(shù)值,,表示一天中的某個小時,。使用方法:hour(time)。其中參數(shù)time是任意的可代表時間的表達式,。比如“hour(time())”就表示是從“time()”得出的時間中提取其中“小時”的整數(shù),。同樣,參數(shù)time還可以這樣應用“hour(#11:45:50#)”表示從“11”時“45”分“50”秒中提取當前小時數(shù),。當然,定義的時間要符合時間的規(guī)范,。
     ?。?)Minute函數(shù):返回0到59之間的整數(shù)值,表示一小時中的某分鐘,。使用方法:minute(time),。time參數(shù)的說明和hour函數(shù)相同。
     ?。?)Second函數(shù):返回0到59之間的整數(shù)值,,表示一分鐘中的某秒。使用方法:second(time),。time參數(shù)的說明和hour函數(shù)相同,。
      (10)Weekday函數(shù):返回一個星期中某天的整數(shù),。使用方法:weekday(date),。關于參數(shù)date的說明和year函數(shù)相同。該函數(shù)返回值為“1”到“7”,,分別代表“星期日”,、“星期一”……“星期六”。比如當返回值是“4”時就表示“星期三”,。
     ?。?1)WeekDayName函數(shù):返回一個星期中具體某天的字符串。相對weekday函數(shù)而言即翻譯出“星期幾”,,使用方法:weekdayname(weekday),。參數(shù)weekday即星期中具體某天的數(shù)值。比如“weekdayname(weekday(date()))”就表示當前是“星期幾”,。因為“date()”表示的是當前的時間,,而“weekday(date())”就表示的是一星期中具體某天的整數(shù),。
      當然weekdayname函數(shù)最終顯示的字符串內(nèi)容還與當前操作系統(tǒng)語系有關,比如中文操作系統(tǒng)將顯示“星期一”這類的中文字符,,而英文操作系統(tǒng)則顯示為“Mon”(Monday簡寫),。
      此外,在VBScript中還有一些關于時間間隔的計算函數(shù):
     ?。?)DateAdd函數(shù):返回指定時間間隔的日期,、時間??梢杂嬎愠鱿喔舳嗌倌?、或相隔幾個月、又或相隔幾個小時等的新日期,、時間,。使用方法:dateadd(interval, number, date)。
      其中參數(shù)interval表示需要添加的時間間隔單位,。其是以字符串的形式表達的,,比如“yyyy”表示年,“q”表示季度,,“m”表示月份,,“d”表示天數(shù),“ww”表示周數(shù),,“h”表示小時數(shù),,“n”表示分鐘數(shù),“s”表示秒數(shù),。
      而參數(shù)number則表示添加的時間間隔數(shù),。其是以數(shù)值的形式表達的,可以為負值,。參數(shù)date則要求是日期,、時間的正確格式。
      比如dateadd("d",100,"2006-5-20")就表示2006年5月20號以后的100天的日期值:2006-8-28,。再比如dateadd("h",-12,"2005-5-20 10:00:00")就表示2005年5月20號上午10點前的12小時的日期時間:2005-5-19 22:00:00,。
      (2)DateDiff函數(shù):返回兩個日期時間之間的間隔,??捎嬎愠鰞蓚€日期相隔的年代、小時數(shù)等,。使用方法:datediff(interval,date1,date2),。
      參數(shù)interval和dateadd函數(shù)中的interval參數(shù)內(nèi)容描述相同,date1和date2參數(shù)分別就是相互比較的兩個日期時間,。另外,,當date1的日期時間值大于date2時,,將顯示為負值。
      比如DateDiff("yyyy","1982-7-18",date)表示某人的出生到現(xiàn)在已經(jīng)多少年了,。又比如DateDiff("d","1982-7-18","2062-7-18")則計算了80年過了多少天:29220,。
      2,字符串處理函數(shù)
      在腳本的功能處理中,,通常需要對一些字符串進行一些修飾性處理,。比如過濾掉字符串中的敏感字眼以符合最終顯示的要求;又比如一段較長的字符串,,需要提取開頭的幾個字符時,。
      (1)Asc函數(shù):返回字符串中第一個字母對應的ANSI字符代碼,。使用方法:asc(string),。其中string參數(shù)表示字符串。
     ?。?)Chr函數(shù):返回指定了ANSI 字符代碼對應的字符,。使用方法:chr(chrcode)。參數(shù)chrcode是相關的標識數(shù)字,。該函數(shù)的功能和asc函數(shù)形成對應。
      比如:asc(“a”)表示小寫字母“a”的ANSI 字符“97”,;同樣chr(97)表示的就是“小寫字母a”,。另外chr(chrcode)中參數(shù)chrcode值為0到31的數(shù)字時,表示不可打印的ASCII碼,。比如“chr(10)”表示換行符,,“chr(13)”表示回車符等,這常用于輸入和顯示格式的轉(zhuǎn)換中,。
     ?。?)Len函數(shù):返回字符串內(nèi)字符的數(shù)目(字節(jié)數(shù))。使用方法:len(string),。比如len(“love”)的值就是4,。
      (4)LCase函數(shù):返回所有字符串的小寫形式,。使用方法:lcase(string),。比如lcase(“CNBruce”)返回為“cnbruce”。
     ?。?)UCase函數(shù):返回所有字符串的大寫形式,。與lcase函數(shù)形成對應。同樣,,ucase(“CNBruce”)返回為“CNBRUCE”,。
     ?。?)Trim函數(shù)、LTrim函數(shù)和RTrim函數(shù):分別返回前導和后續(xù)不帶空格,、前導不帶空格或后續(xù)不帶空格的字符串內(nèi)容,。比如:
      trim(“ cnbruce ”)返回為“cnbruce”,前導和后續(xù)都不帶空格,;
      ltrim(“ cnbruce ”)返回為“cnbruce ”,,前導不帶空格;
      rtrim(“ cnbruce ”)返回為“ cnbruce”,后續(xù)不帶空格,;
      該函數(shù)常用于注冊信息中,,比如確保注冊用戶名前或后的空格。
     ?。?)Left函數(shù):返回從字符串的左邊算起的指定數(shù)目的字符,。使用方法:left(string,length)。比如left(“brousce”,5)返回為“brous”,,即前五位字符,。
      (8)Right函數(shù):返回從字符串的左邊算起的指定數(shù)目的字符,。使用方法:right(string,length),。比如right(“brousce”,4)返回為“usce”,即后四位字符,。
     ?。?)instr函數(shù):返回某字符串在另一字符串中第一次出現(xiàn)的位置。比如現(xiàn)在查找字母“A”在字符串“A110B121C119D1861”中第一次出現(xiàn)的位置,,則可以 instr(my_string,"A110B121C119D1861")
     ?。?0)Mid函數(shù):從字符串中返回指定數(shù)目的字符。比如現(xiàn)在的“110”則應該是從字符串“A110B121C119D1861”的第2位取得3個單位的值:mid("A110B121C119D1861",2,3)
     ?。?1)Replace函數(shù):在字符串中查找,、替代指定的字符串。replace(strtobesearched,strsearchfor,strreplacewith)其中strtobesearched是字符串,,strsearchfor是被查找的子字符串,,strreplacewith是用來替代的子字符串。比如 replace(rscon,"<","<") 則表示將rscon中所有“<”的字符替換為“<”
      3,,類型轉(zhuǎn)換函數(shù)
      Cbool(string) 轉(zhuǎn)換為布爾值
      Cbyte(string) 轉(zhuǎn)換為字節(jié)類型的值
      Ccur(string) 轉(zhuǎn)換為貨幣類值
      Cdate(string) 轉(zhuǎn)換為日前類型的值
      Cdbl(string) 轉(zhuǎn)換為雙精度值
      Cint(string) 轉(zhuǎn)換為整數(shù)值
      Clng(string) 轉(zhuǎn)換為長整型的值
      Csng(string) 轉(zhuǎn)換為單精度的值
      Cstr(var) 轉(zhuǎn)換為字符串值
      Str(var) 數(shù)值轉(zhuǎn)換為字符串
      Val(string) 字符串轉(zhuǎn)換為數(shù)值
      4,,運算函數(shù)
      Abs(nmb) 返回數(shù)子的絕對值
      Atn(nmb) 返回一個數(shù)的反正切
      Cos(nmb) 返回一個角度的余炫值
      Exp(nmb) 返回自然指數(shù)的次方值
      Int(nmb) 返回數(shù)字的整形(進位)部份
      Fix(nmb) 返回數(shù)字的整形(舍去)部份
      Formatpercent(表達式) 返回百分比
      Hex(nmb) 返回數(shù)據(jù)的16進制數(shù)
      Log(nmb) 返回自然對數(shù)
      Oct(nmb) 返回數(shù)字的8進制數(shù)
      Rnd 返回大于“0”而小于“1”的隨機數(shù),但此前需 randomize 聲明產(chǎn)生隨機種子
      Sgn(nmb) 判斷一個數(shù)字的正負號
      Sin(nmb) 返回角度的正鉉值
      Sqr(nmb) 返回數(shù)字的二次方根
      Tan(nmb) 返回一個數(shù)的正切值
      5,,其他函數(shù)
      IsArray(var) 判斷一個變量是否是數(shù)組
      IsDate(var) 判斷一個變量是否是日期
      IsNull(var) 判斷一個變量是否為空
      IsNumeric(var) 判斷表達式是否包含數(shù)值
      IsObject(var) 判斷一個變量是否是對象
      TypeName(var) 返回變量的數(shù)據(jù)類型
      Array(list) 返回數(shù)組
      Split(liststr) 從一個列表字符串中返回一個一維數(shù)組
      LBound(arrayP 返回數(shù)組的最小索引
      Ubound(array) 返回數(shù)組的最大索引
      CreateObject(class) 創(chuàng)建一個對象
      GetObject(pathfilename) 得到文件對象

    ASP常用函數(shù)介紹

      1.函數(shù)array() 
      功能:創(chuàng)建一個數(shù)組變量 
      格式:array(list) 
      參數(shù):list 為數(shù)組變量中的每個數(shù)值列,中間用逗號間隔 
      例子: 
      <% i = array ("1","2","3") %> 
      結(jié)果: i 被賦予為數(shù)組
      2.函數(shù)Cint() 
      功能:將一表達式/其它類型的變量轉(zhuǎn)換成整數(shù)類型(int) 
      格式:Cint(expression) 
      參數(shù):expression 是任何有效的表達式/其它類型的變量 
      例子: 
      <% 
      f = "234" 
      response.write cINT(f) + 2 
      %> 
      結(jié)果: 236 
      函數(shù)Cint()將字符"234"轉(zhuǎn)換 成整數(shù)234.如果表達式為空, 或者無效時,返回值為0; 
      3.函數(shù):Creatobject() 
      功能:創(chuàng)建及返回一個ActiveX對象. 
      格式:Creatobject(obname) 
      參數(shù)bname 是對象的名稱 
      例子: 
      <% 
      Set con = Server.CreateObject("ADODB.Connection") 
      %> 
      結(jié)果: 
      4.函數(shù)Cstr() 
      功能:將一表達式/其它類型的變量轉(zhuǎn)換成字符類型(string) 
      格式:Cstr(expression) 
      參數(shù):expression是任何有效的表達式/其它類型的變量 
      例子: 
      <% 
      s = 3 + 2 
      response.write "The result is: " & cStr(s) 
      %> 
      結(jié)果:函數(shù)Cstr()將整數(shù) 5 轉(zhuǎn)換 成字符"5". 
      5.函數(shù)Date() 
      功能:返回當前系統(tǒng)(server端)的日期 
      格式: Date() 
      參數(shù):無 
      例子<% date () %> 
      結(jié)果:05/10/00 
      5.1 Instr()
      函數(shù)返回字符或字符串在另一個字符串中第一次出現(xiàn)的位置.
      表達式 Instr([start, ] strToBeSearched, strSearchFor [, compare])
      允許數(shù)據(jù)類型: Start為搜索的起始值,,strToBeSearched接受搜索的字符串 strSearchFor要搜索的字符.compare比較方式(詳細見ASP常數(shù))
      實例: <%
      strText = "This is a test!!"
      pos = Instr(strText, "a")
      response.write pos
      %>
      返回結(jié)果: 9
      6.函數(shù)Dateadd() 
      功能:計算某個指定的時間和 
      格式: dateadd(timeinterval,number,date) 
      參數(shù):timeinterval是時間單位(月,日..); number是時間間隔值,date是時間始點. 
      例子: 
      <% 
      currentDate = #8/4/99# 
      newDate = DateAdd("m",3,currentDate) 
      response.write newDate 
      %> <% 
      currentDate = #12:34:45 PM# 
      newDate = DateAdd("h",3,currentDate) 
      response.write newDate 
      %> 
      結(jié)果: 
      11/4/99 
      3:34:45 PM 
      其中 
      "m" = "month"; 
      "d" = "day"; 
      如果是currentDate 格式,則, 
      "h" = "hour"; 
      "s" = "second"; 
      7.函數(shù)Datediff() 
      功能:計算某量個指定的時間差 
      格式: datediff(timeinterval,date1,date2[,firstdayofweek[,firstdayofyear]]) 
      參數(shù): timeinterval 是時間單位; date1,date2是有效的日期表達式,firstdayofweek,firstdayofyear 是任意選項. 
      例子: 
      <% 
      fromDate = #8/4/99# 
      toDate = #1/1/2000# 
      response.write "There are " & _ 
      DateDiff("d",fromDate,toDate) & _ 
      " days to millenium from 8/4/99." 
      %> 
      結(jié)果:There are 150 days to millenium from 8/4/99. 
      8.函數(shù)day() 
      功能:返回一個整數(shù)值,對應于某月的某日 
      格式: day(date) 
      參數(shù): date是一個有效的日期表達式; 
      例子<% =date(#8/4/99#) %> 
      結(jié)果:4 
      9.函數(shù)formatcurrency() 
      功能:轉(zhuǎn)換成貨幣格式 
      格式: formatcurrency(expression [,digit[,leadingdigit[,paren[,groupdigit]]]]) 
      參數(shù): expression 是有效的數(shù)字表達式;digit表示小數(shù)點后的位數(shù);leadingdigit,paren,groupdigit是任意選項. 
      例子<%=FormatCurrency(34.3456)%> 
      結(jié)果34.35 
      10.函數(shù)Formatdatetime() 
      功能:格式化日期表達式/變量 
      格式: formatdatetime(date[,nameformat]) 
      參數(shù): date為有效的日期表達式/變量;nameformat是指定的日期格式常量名稱. 
      例子<% =formatdatetime("08/04/99",vblongdate) %> 
      結(jié)果:Wednesday,August 04,1999 
      說明: 
      描述
      返回表達式,此表達式已被格式化為日期或時間,?!?br>
      語法
      FormatDateTime(Date[, NamedFormat])
      FormatDateTime 函數(shù)的語法有以下參數(shù):
      參數(shù) 描述 
      Date 必選項,。要被格式化的日期表達式?!?br>
      NamedFormat 可選項,。指示所使用的日期/時間格式的數(shù)值,如果省略,,則使用 vbGeneralDate,。 
      設置
      NamedFormat 參數(shù)可以有以下值:
      常數(shù) 值 描述 
      vbGeneralDate 0 顯示日期和/或時間,。如果有日期部分,,則將該部分顯示為短日期格式。如果有時間部分,,則將該部分顯示為長時間格式,。如果都存在,則顯示所有部分,?!?br>
      vbLongDate 1 使用計算機區(qū)域設置中指定的長日期格式顯示日期?!?br>
      vbShortDate 2 使用計算機區(qū)域設置中指定的短日期格式顯示日期,。 
      vbLongTime 3 使用計算機區(qū)域設置中指定的時間格式顯示時間,?!?br>
      vbShortTime 4 使用 24 小時格式 (hh:mm) 顯示時間?!?br>
      說明
      下面例子利用 FormatDateTime 函數(shù)把表達式格式化為長日期型并且把它賦給 MyDateTime: 
      Function GetCurrentDate 
      "FormatDateTime 把日期型格式化為長日期型。
      GetCurrentDate = FormatDateTime(Date, 1) 
      End Function
      11.函數(shù)Isnumeric() 
      功能:返回一個布爾值,判斷變量是否為數(shù)字變量,或者是可以轉(zhuǎn)換成數(shù)字的其它變量. 
      格式:isnumeric(expression) 
      參數(shù):expression 是任意的變量. 
      例子: 
      <% 
      i="234" 
      response.write isnumeric(i) 
      %> 
      結(jié)果: true. 
      12.函數(shù)Isobject() 
      功能:返回一個布爾值,判斷變量是否為對象的變量, 
      格式: isobject(expression) 
      參數(shù): expression 是任意的變量. 
      例子: 
      <% 
      set con =server.creatobject("adodb.connection") 
      response.write isobject(con) 
      %> 
      結(jié)果: true 
      13.函數(shù):Lbound() 
      功能:返回一個數(shù)組的下界. 
      格式:Lbound(arrayname[,dimension]) 
      參數(shù):arrayname 是數(shù)組變量,dimension 是任意項 
      例子: 
      <% 
      i = array("1","2","3") 
      response.write lbound(i) 
      %> 
      結(jié)果:0
      14.函數(shù)Lcase() 
      功能:將一字符類型變量的字符全部變換小寫字符. 
      格式:Lcase(string) 
      參數(shù):string是字符串變量 
      例子: 
      <% 
      str="THIS is Lcase!" 
      response.write Lcase(str) 
      %> 
      結(jié)果:this is lcase! 
      15.函數(shù)left() 
      功能:截取一個字符串的前部分; 
      格式:left(string,length) 
      參數(shù):string字符串,length截取的長度. 
      例子: <% =left("this is a test!",6) %> 
      結(jié)果:this i 
      16.函數(shù)len() 
      功能:返回字符串長度或者變量的字節(jié)長度 
      格式:len(string *varname) 
      參數(shù):string字符串;varname任意的變量名稱 
      例子: 
      <% 
      strtest="this is a test!" 
      response.write left(strtest) 
      %> 
      結(jié)果:15 
      17.函數(shù)ltrim()
      功能:去掉字符串前的空格.
      格式:ltrim(string) 
      參數(shù):string 字符串. 
      例子: <% =ltrim (" this is a test!") 
      結(jié)果:this is a test! 
      18.函數(shù)Mid()
      功能:從字符串中截取字符串. 
      格式:mid(string,start [,length]) 
      參數(shù):string字符串,start截取的起點,length要截取的長度.
      例子: 
      <% 
      strtest="this is a test, Today is Monday!" 
      response.write mid(strtest,17,5) 
      %> 
      結(jié)果:Today 
      19.函數(shù)minute() 
      功能:返回一數(shù)值, 表示分鐘 
      格式:minute(time) 
      參數(shù): time是時間變量 
      例子lt;% =minute(#12:23:34#) %> 
      結(jié)果:23 
      20.函數(shù)month() 
      功能:返回一數(shù)值, 表示月份 
      格式:month(time) 
      參數(shù):time是日期變量 
      例子<% =month(#08/09/99) %> 
      結(jié)果:9 
      21.函數(shù)monthname() 
      功能:返回月份的字符串(名稱). 
      格式:Monthname(date [,abb]) 
      參數(shù): date是日期變量,abb=true時 則月份的縮寫, 
      例子: 
      <% =monthname(#4/5/99#) %> 
      結(jié)果:April 
      22.函數(shù)Now() 
      功能:返回系統(tǒng)的當前時間和日期. 
      格式:now() 
      參數(shù):無 
      例子: 
      <% =now() %> 
      結(jié)果: 05/10/00 8:45:32 pm 
      23.函數(shù):replace() 
      功能:在字符串中查找,替代指定的字符串. 
      格式:replace(strtobesearched,strsearchfor,strreplacewith [,start[,count[,compare]]]) 
      參數(shù):strtobesearched是字符串; strsearchfor是被查找的子字符串;strreplacewith 是用來替代的子字符串.start,count,compare 是任意選項. 
      例子: 
      <% 
      strtest="this is an apple." 
      response.write replace(strtest,"apple","orange") 
      %> 
      結(jié)果:this is an orange. 
      24.函數(shù)right() 
      功能:截取一個字符串的后部分 
      格式:right(string,length) 
      參數(shù):string字符串,length截取的長度. 
      例子: 
      <% 
      strtest="this is a test!" 
      response.write right(strtest,3) 
      %> 
      結(jié)果:st! 
      25.函數(shù)rnd() 
      功能:返回一個隨機數(shù)值 
      格式:rnd[(number)] 
      參數(shù):number是任意數(shù)值. 
      例子: 
      <% 
      randomize() 
      response.write rnd() 
      %> 
      結(jié)果:0/1數(shù)值之一,無randomize(), 則不能產(chǎn)生隨機數(shù). 
      26.函數(shù)round() 
      功能:完整數(shù)值 
      格式:round(expression[,numright]) 
      參數(shù):expression數(shù)字表達式;numright任意選項. 
      例子: 
      <% 
      i=12.33654 
      response.write round(i) 
      %> 
      結(jié)果: 12 
      27.函數(shù)rtrim() 
      功能:去掉字符串后的空格. 
      格式:rtrim(string) 
      參數(shù):string 是字符串 
      例子: 
      <% 
      response.write rtrim("this is a test! ") 
      %> 
      結(jié)果:this is a test! 
      28.函數(shù)second() 
      功能:返回一個整數(shù)值. 
      格式:second(time) 
      參數(shù):time是一個有效的時間表達式; 
      例子lt;% =second(# 12:28:30#) %> 
      結(jié)果:30 
      29.函數(shù)strReverse() 
      功能:返回與原字符串排列逆向的字符串. 
      格式:strreverse(string) 
      參數(shù):string是字符串 
      例子<% =strreverse("this is a test!") 
      結(jié)果:!tset a si siht 
      30.函數(shù)time() 
      功能:返回當前系統(tǒng)的時間值. 
      格式:time() 
      參數(shù):無 
      結(jié)果:9:58:28 Am 
      31.函數(shù)trim() 
      功能:刪去字符串前,后的空格. 
      格式:trim(string) 
      參數(shù):string 字符串. 
      例子: 
      <% 
      strtest=" this is a test! " 
      response.write trim(strtest) 
      %> 
      結(jié)果:this is a test! 
      32.函數(shù)UBound() 
      功能:返回一個數(shù)組的上界. 
      格式:Ubound(expression [,dimension]) 
      參數(shù):expression 是數(shù)組表達式/數(shù)組變量,dimension 是任意項 
      例子: 
      <% 
      i = array("1","2","3") 
      response.write ubound(i) 
      %> 
      結(jié)果: 2 
      33.函數(shù):UCase() 
      功能:將一字符類型變量的字符全部變換成大寫字符. 
      格式:Ucase(string) 
      參數(shù):string是字符串變量 
      例子: 
      <% 
      str="THIS is Lcase!" 
      response.write Lcase(str) 
      %> 
      結(jié)果:THIS IS LCASE! 
      34.函數(shù)Vartype() 
      功能:返回變量的常量代碼(整數(shù)) 
      格式:Vartype(varname) 
      參數(shù):varname是任何類型的變量名稱. 
      例子: 
      <% 
      i=5 
      response.write vartype(i) 
      %> 
      結(jié)果:2 (2表示整數(shù),須要參考ASP常量代碼.) 
      35.函數(shù)Weekday() 
      功能:返回一個整數(shù),對應一周中的第幾天. 
      格式:Weekday(date [,firstofweek]) 
      參數(shù): date為日期變量,firstofweek為任選項. 
      例子: 
      <% 
      d= # 5/9/00 # 
      response.write weekday(d) %> 
      結(jié)果:3(3 表示是星期二) 
      36.函數(shù)weekdayname() 
      功能:返回字符串,對應星期幾. 
      格式:weekdayname(weekday[,abb[,firstdayofweek]]) 
      參數(shù):weekday為日期變量,abb,firstdayofweek為任選項. 
      例子: 
      <% 
      d = #8/4/99# 
      response.write weekdayname(d) 
      %> 
      結(jié)果: Wednesday 
      37.函數(shù)year() 
      功能:返回日期表達式所在的年份. 
      格式:year(date) 
      參數(shù): date是有效的日期表達式 
      例子: 
      <% =year(#8/9/99#) %> 
      結(jié)果:1999 
      38.函數(shù)Mod()功能:取余數(shù).
      例子:3 Mod 2 
      結(jié)果:1
      Asp的簡介:
      1.ASP全稱:Microsoft Active Server Pages , 是一套微軟開發(fā)的服務器端腳本環(huán)境.
      2.ASP 內(nèi)含于 IIS 3.0 和 4.0 之間 , 通過 ASP 我們可以結(jié)合 HTML 網(wǎng)頁,、 ASP 指令和 ActiveX 元件建立動態(tài),、交互且高效的WEB服務器應用程序。
      Asp(Active Server Pages)優(yōu)點:
      1.ASP具備管理不同語言腳本程序的能力,;
      具備管理不同語言腳本程序的能力,,能夠自動調(diào)用合適的腳本引擎以解釋腳本代碼和執(zhí)行內(nèi)置函數(shù)。
      2. ASP在國內(nèi)具有很強的影響力
      ASP可以根據(jù)不同的用戶,,在不同的時間向用戶顯示不同的內(nèi)容,,也因此在國內(nèi)掀起了一股學習ASP的熱潮。自從ASP(Active Server Pages)問世以來,,因其可以創(chuàng)建健壯易于維護,、與平臺無關的應用系統(tǒng),ASP技術受到了越來越多網(wǎng)絡程序員的喜愛,,使用ASP從事WEB開發(fā)的人也越來越多,。但ASP只是一種非編譯型的,、在服務端運行的腳本語言,采用明文(plain text)方式來編寫,,即使
      3. ASP的腳本程序運行方便
      有了 ASP 你就不必擔心客戶的瀏覽器是否能運行你所編寫的代碼,,因為所有的程序都將在服務器端執(zhí)行,包括所有嵌在普通 HTML 中的腳本程序,。當程序執(zhí)行完畢后,,服務器僅將執(zhí)行的結(jié)果返回給客戶瀏覽器,這樣也就減輕了客戶端瀏覽器的負擔,,大大提高了交互的速度
      Asp(Active Server Pages) 所獨具的一些特征:
      1. Asp的語言容易編寫,;
      無須 compile 編譯,容易編寫,,可在服務器端直接執(zhí)行
      2. Asp的腳本語言運用簡單快速性,;
      使用 VBScript 、 JScript 等簡單易懂的腳本語言,,結(jié)合 HTML 代碼,,即可快速地完成網(wǎng)站的應用程序。
      3.使用文本編輯器的普通性
      使用普通的文本編輯器,,如 Windows 的記事本,,即可進行編輯設計。
      4.Asp所設計網(wǎng)頁內(nèi)容的可瀏覽性
      與瀏覽器無關 (Browser Independence), 用戶端只要使用可執(zhí)行 HTML 碼的瀏覽器,,即可瀏覽 Active Server Pages 所設計的網(wǎng)頁內(nèi)容,。 Active Server Pages 所使用的腳本語言 (VBScript 、 Jscript) 均在 WEB 服務器端執(zhí)行,,用戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言,。
      5. Asp的腳本語言的可容性
      Active Server Pages 能與任何 ActiveX scripting 語言相容。除了可使用 VBScript 或 JScript 語言來設計外,,還通過 plug-in 的方式,,使用由第三方所提供的其他腳本語言,譬如 REXX ,、 Perl ,、 Tcl 等。腳本引擎是處理腳本程序的 COM(Component Object Model) 物件,。
      6. Asp的原程序的安全性,;
      Active Server Pages 的源程序,不會被傳到客戶瀏覽器,,因而可以避免所寫的源程序被他人剽竊,,也提高了程序的安全性。
      Asp發(fā)展-----Asp.net
      1..執(zhí)行效率的大幅提高
      ASP.net是把基于通用語言的程序在服務器上運行。不像以前的ASP即時解釋程序,,而是將程序在服務器端首次運行時進行編譯,,這樣的執(zhí)行效果,當然比一條一條的解釋強很多,。
      2.世界級的工具支持
      ASP.net構(gòu)架是可以用Microsoft(R)公司最新的產(chǎn)品 Visual Studio.net開發(fā)環(huán)境進行開發(fā),,WYSIWYG(What You See Is What You Get所見即為所得)的編輯。這些僅是ASP.net強大化軟件支持的一小部分,。
      3..強大性和適應性
      因為ASP.net是基于通用語言的編譯運行的程序,,所以它的強大性和適應性,可以使它運行在Web應用軟件開發(fā)者的幾乎全部的平臺上,。通用語言的基本庫,,消息機制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.net的Web應用中,。ASP.net同時也是language-independent語言獨立化的,,所以,你可以選擇一種最適合你的語言來編寫你的程序,,或者把你的程序用很多種語言來寫,,現(xiàn)在已經(jīng)支持的有C#(C++和Java的結(jié)合體),VB,,Jscript ,,等。將來,,這樣的多種程序語言協(xié)同工作的能力保護您現(xiàn)在的基于COM+開發(fā)的程序,,能夠完整的移植向ASP.net。
      4.簡單性和易學性
      ASP.net是運行一些很平常的任務如表單的提交,,使客戶端的身份驗證,,分布系統(tǒng)和網(wǎng)站配置變得非常簡單。例如ASP.net頁面構(gòu)架允許你建立你自己的用戶分界面,,使其不同于常見的VB-Like界面,。另外,通用語言簡化開發(fā)使把代碼結(jié)合成軟件簡單的就像裝配電腦,。
      5.多處理器環(huán)境的可靠性
      ASP.net已經(jīng)被刻意設計成為一種可以用于多處理器的開發(fā)工具,,它在多處理器的環(huán)境下用特殊的無縫連接技術,,將很大的提高運行速度,。即使你現(xiàn)在的ASP.net應用軟件是為一個處理器開發(fā)的,將來多處理器運行時不需要任何改變都能提高他們的效能,。
      6.自定義性,,和可擴展性
      ASP.net設計時考慮了讓網(wǎng)站開發(fā)人員可以在自己的代碼中自己定義"plug-in"的模塊。這與原來的包含關系不同,ASP.net可以加入自己定義的任何組件,。網(wǎng)站程序的開發(fā)從來沒有這么簡單過,。
      7.安全性
      基于Windows認證技術和每應用程序配置,你可以確性你的原程序時絕對安全的,。(但是Asp的經(jīng)驗告訴我們,,不能這么自信,M$老是會出Bug的)
      8.高效可管理性
      ASP.net使用一種字符基礎的,,分級的配置系統(tǒng),,使你服務器環(huán)境和應用程序的設置更加簡單。因為配置信息都保存在簡單文本中,,新的設置有可能都不需要啟動本地的管理員工具就可以實現(xiàn),。這種被稱為"Zero Local Administration"的哲學觀念使Asp.net的基于應用的開發(fā)更加具體,和快捷,。一個ASP.net的應用程序在一臺服務器系統(tǒng)的安裝只需要簡單的拷貝必須得文件,,不需要系統(tǒng)的重新啟動,一切就是這么簡單,。
      JSP
      JSP技術是用JAVA語言作為腳本語言的,,JSP網(wǎng)頁為整個服務器端的JAVA庫單元提供了一個接口來服務于HTTP的應用程序。
      JSP(JavaServer Pages)是由Sun Microsystems公司倡導,、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術標準,。 在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(tag),就構(gòu)成了JSP網(wǎng)頁(*.jsp),。Web服務器在遇到訪問JSP網(wǎng)頁的請求時,,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶,。程序片段可以操作數(shù)據(jù)庫,、重新定向網(wǎng)頁以及發(fā)送 email 等等,這就是建立動態(tài)網(wǎng)站所需要的功能,。所有程序操作都在服務器端執(zhí)行,,網(wǎng)絡上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低,,可以實現(xiàn)無Plugin,,無ActiveX,無Java Applet,,甚至無Frame,。
      JSP網(wǎng)頁主要提供了一種建立servlet的高水平方法,它還帶來了其他的優(yōu)點,。即使你已經(jīng)為web應用程序編寫了servlet,,使用JSP仍然有很多優(yōu)勢:
      JSP網(wǎng)頁可以非常容易的與靜態(tài)模板結(jié)合,包括HTML 或XML 片段,以及生成動態(tài)內(nèi)容的代碼,。
      JSP網(wǎng)頁可以在被請求的時候動態(tài)的編譯成servlet,,所以網(wǎng)頁的設計人員可以非常容易的對表述代碼進行更新。如果需要的話,,JSP網(wǎng)頁還可以進行預編譯,。
      為了調(diào)用JavaBean組件,JSP標簽可以完全管理這些組件,,避免網(wǎng)頁設計人員復雜化應用程序,。
      開發(fā)人員可以提供定制化的JSP標簽庫。
      網(wǎng)頁設計人員能夠改變和編輯網(wǎng)頁的固定模板部分而不影響應用程序,。同樣,,開發(fā)人員也無須一個個編輯頁面而只須對組件進行合理的改變。
      通常,,JSP允許開發(fā)人員向許多網(wǎng)頁設計人員分發(fā)功能性應用程序,。這些設計人員也不必知道Java編程語言或任何servlet代碼,所以他們能夠集中精力去編寫HTML代碼,,而編程人員就可以集中精力去建立對象和應用程序,。
      ASP與JSP的比較
      一、結(jié)構(gòu)
      JSP和ASP在結(jié)構(gòu)上類似,,都是以““作為標計符,,不同的是在標計符之間的代碼ASP為JavaScript或VBScript腳本,而JSP為JAVA代碼,。JSP將網(wǎng)頁的表現(xiàn)形式和服務器端的代碼邏輯分開,。作為服務器進程的JSP頁面,首先被轉(zhuǎn)換成servlet(一種服務器端運行的java程序),。Servlet支持HTTP協(xié)議的請求和響應,。當JSP被轉(zhuǎn)換成純JAVA代碼。多個用戶同時請求一個jsp頁面時,,應用實例化線程來響應請求,。這些線程由WEB服務器進程來管理,和ASP的線程管理器功能類似,。同CGI為每個請求創(chuàng)建一個進程的模式比較,,這種方式效率高的多。
      二,、性能和平臺無關性
      與C++,、VB等語言比較,JAVA被看作是個效率不太高的語言,,但它以犧牲效率換來了平臺無關性使JAVA可以在大多數(shù)操作系統(tǒng)上運行而不需要重新編譯--許多人愿意為此而付出代價,。JAVA的編譯代碼是一種字節(jié)代碼,在運行時由操作系統(tǒng)上的一個Java VirtualMachine(JVM)虛擬機解釋,。字節(jié)代碼可以在所有平臺上遷移,,而不需要任何改動。交叉平臺編程傾向于采用所有操作系統(tǒng)的“最小公分母“,,尤其是使用圖形化界面時(servlets不需要任何圖形界面),。Servlets比傳統(tǒng)的java程序(applets, javaapp)要快,因為它們在服務器端運行,,不需要加載沉重的GUI(HTML的GUI是非常少的),。另外,servlets的字節(jié)代碼只有在客戶請求時才執(zhí)行,,所以盡管當首次調(diào)用servlets時會有幾秒鐘的加載時間,,但后續(xù)的請求相應非常迅速,因為服務器已經(jīng)緩存了運行的servlets,。當前的jsp服務器,,都帶有java 即時編譯器(JIT),因此,,JSP的執(zhí)行比每次都要解釋執(zhí)行的ASP代碼要快,,尤其是在代碼中存在循環(huán)操作時,JSP的速度要快1到2個數(shù)量級,。
      三,、ServerSideIncludes
      在服務器端引用上ASP和JSP有著相同之處。ASP和JSP都可以支持此功能的服務器(IIS,APACHE)上實現(xiàn)服務器端包含虛文件,。但JSP是將動態(tài)頁面的結(jié)果包含進來,,而不是包含文件的代碼本身。當你包含的文件在另一個服務器上時,,不包含任何代碼和對象是一個非常有效的功能,。
      四、JAVA組件:JavaBeans
      JavaBeans是一些完成預定義功能的封裝的對象數(shù)據(jù),。JavaBeans和JSP接合與COM和ASP相比如下:
      COM對象常用來封裝商業(yè)邏輯和為ASP頁面完成高強度計算,。重用的組件使得頁面簡單快速,因為組件由編譯語言(C++,VB)構(gòu)成,,而不是解釋型的scripting語言(VBScript, JScript),。
      JavaBeans只能用java語言開發(fā),com可以由符合標準對象模型的任何語言開發(fā)(包括Visual J++),。另一方面,,JavaBeans更容易開發(fā),因為一旦掌握了java,了解JavaBeans的結(jié)構(gòu)非常容易,。由于com的復雜性,,需要大量的學習和培訓才能掌握--即使你具有c++和vb的基礎也需要額外的努力,。Com 組件需要在服務器上注冊,如果你修改了一個現(xiàn)有的組件,,服務器需要重新啟動才能使用它,。JavaBeans不需要重新注冊,如果開發(fā)者不需要得到對服務器的完全訪問權限,,這是其一個巨大的優(yōu)點,。
      可以創(chuàng)建滿足商業(yè)邏輯的完整的JavaBeans庫,讓非編程人員使用庫來開發(fā)動態(tài)網(wǎng)站,。
      Beans可以在服務器端管理數(shù)據(jù)庫連接,。
      JavaBeans符合結(jié)構(gòu)化對象模型:每個Bean由一個不帶參數(shù)的構(gòu)造函數(shù),控制它的servlet可以使用內(nèi)?。╥ntrospection)來設置其屬性,。要設置Bean的內(nèi)置屬性,必須使用帶有屬性名的setProperty標簽,。如果一個屬性可以設置,,Bean需要有一個setXxxx方法,Xxxx用實際的屬性名來代替,。
      五,、JSP和數(shù)據(jù)庫
      ASP使用ODBC通過ADO連接數(shù)據(jù)庫,而JAVA通過一個叫JDBC的技術聯(lián)接數(shù)據(jù)庫,。目標數(shù)據(jù)庫需要一個JDBC驅(qū)動程序--一個數(shù)據(jù)庫與JAVA的借口,,使得JAVA可以用標準的方式訪問數(shù)據(jù)庫。JDBC不使用服務器端的數(shù)據(jù)源,。只要有JDBC驅(qū)動程序,,JAVA就可以訪問數(shù)據(jù)庫了。如果一個特定的數(shù)據(jù)庫沒有JDBC驅(qū)動程序,,而只有ODBC驅(qū)動程序,,JAVA提供一個JDBC-ODBC橋來將JDBC調(diào)用轉(zhuǎn)化為ODBC調(diào)用。所有的JAVA編譯器都帶有一個免費的JDBC-ODBC橋,。理論上,,橋可以訪問任何常見的數(shù)據(jù)庫產(chǎn)品。
      六,、企業(yè)產(chǎn)品的多樣性
      JAVA2平臺即企業(yè)版(J2EE)是適用于多企業(yè)應用程序的JAVA結(jié)構(gòu),,作為J2EE的部分,JSP網(wǎng)頁可訪問所有J2EE的組件,,包括Javabeans,,企業(yè)級Javabeans及JAVA Servlets。JSP網(wǎng)頁都能完全編譯成為Servlets,,所以它們都享有靈活性的特點和為服務器端JAVA應用程序,。J2EE平臺內(nèi)容不僅包括管理復雜的企業(yè)應用程序而且包括事務管理技術和Pooling資源管理技術,。
      JSP網(wǎng)頁可以訪問標準的J2EE服務,包括:
       JAVA名稱和目錄界面API
       JDBCTM API(與關聯(lián)的數(shù)據(jù)庫通訊)
       JavaMailTM(支持基于JAVA郵件和消息應用程序的類)
       JAVATM 消息服務
      通過J2EE,,JSP網(wǎng)頁能夠用許多方式同企業(yè)系統(tǒng)交互訪問,。J2EE支持兩種CORBA規(guī)范的技術:JAVA IDL和RMI-IIOP。在企業(yè)級JAVABEANS技術支持下,,JSP網(wǎng)頁通過運用高級的,對象映射的方式訪問數(shù)據(jù)庫,。
      最終,,因為JSP技術是基于JAVA的開放性過程的產(chǎn)品,因此它能夠廣泛支持不同提供商提供的工具,,WEB服務器和應用程序的服務,,這樣能夠使用戶選擇最佳的開發(fā)方法,選擇最適應他們的應用程序開發(fā)的工具包,,同時,,有效地保護用戶在代碼和人員培訓上的投資。
      結(jié)論:盡管JavaSever Pages 技術和微軟的Active Sever Pages在許多方面都有相似的,,但仍然存在很多不同之處,,其中最本質(zhì)上的區(qū)別在于:兩者是來源于不同的技術規(guī)范組織,其實現(xiàn)的基礎:WEB服務器平臺要求不相同,。
      python
      一. Python的歷史
      1. Python于1989年誕生于阿姆斯特丹,。
      2. Python的中文名叫大蟒蛇。
      3. Python的創(chuàng)始人Guido van Rossum,。
      Python是ABC語言的繼承,它克服了ABC的非開放這一錯誤,能夠與c,c++和java很好的結(jié)合,。
      Python最初是在MAC機上實現(xiàn)的。
      Python是大蟒蛇的意思,,因為它的締造者Guido van Rossum是一個Monty馬戲團的愛好者,。
      二. Python 的特點
      a) 面向?qū)ο蟮模哂袆討B(tài)語義的程序設計語言
      Python是一個真正的面向?qū)ο笳Z言,。它甚至支持異常的處理,。這使得程序的編寫更加清晰,而不需要許多的錯誤檢查了,。
      b) 快速開發(fā)
      c) 具有優(yōu)秀的可讀性
      Guido認為Python的語法是非常優(yōu)美的,。其中一點就是,塊語句的表示不是C語言常用的{}對,,或其它符號對,,而是采用縮近表示法!首先,,使用縮近表示法減少了視覺上的混亂,。其次,,它減少了程序員的自由度,更有利于統(tǒng)一風格,,使得閱讀別人的程序更容易,。
      d) 模塊和包的概念
      對于Java的支持, JPython是用Java寫的Python,它完全支持Java,,在這個環(huán)境下使用Python可以隨意地使用Java的類庫,。
      e) 各種主流平臺,并具有很好的跨平臺性
      f) 容易地包裝C/C++的代碼供Python使用
      可以用C,、C++或Java為Python編寫新的新言模塊,,如函數(shù)?;蛘吲cPython直接編譯在一起,,或者采用動態(tài)庫裝入方式實現(xiàn)。
      三. Python企業(yè)運用的優(yōu)缺點
      優(yōu)點
      1. 免費(像perl一樣,,python也是開放源代碼的軟件),。
      2. 穩(wěn)定。
      3. 良好的支持對象,,模塊和其他可重用機制,。
      4. 采用c/c++語言的集成方便性和擴展性。
      缺點
      1. 相比其他語言,,比如java的開發(fā)人員少的多,。
      2. 缺乏真正的多處理支持。
      3. 缺乏商業(yè)支持,。
      4. 軟件性能,。
      四. Python的應用
      1. 軟件類
      a. 開發(fā)快,直接用記事本或Kwrite編寫代碼保存,,運行就可以了,。
      b. 易維護,python代碼簡潔,。
      c. 節(jié)省開發(fā)資金,,python的代碼是公開的。
      2. 網(wǎng)絡類
      Python能夠?qū)崿F(xiàn)從服務器軟件到服務器腳本的所有功能,,支持一些大規(guī)模數(shù)據(jù)庫,。
      3. 教育類
      Python 是為教育而開發(fā)的語言
      Ruby
      Ruby 的誕生:
      Ruby 誕生于1993 年的 2 月 24號
      Ruby 是一種珍貴寶石的名字(紅寶石)
      Ruby 創(chuàng)始人——Yukihiro Matsumoto(網(wǎng)上被稱為 Matz)
      Ruby 是一種珍貴寶石的名字(紅寶石)。覺得這個語言項目以一個寶石的名字來命名(比如 Perl語言就是用的珍珠pearl的簡稱),,后來想出了“Ruby”,,它最終成為了這個語言的官方名字,。
      Ruby的特點:
      解釋性腳本語言:
      有直接呼叫系統(tǒng)調(diào)用的能力
      強大的字符串操作和正則表達式
      開發(fā)中快速回饋
      迅速和簡便:
      無需變量聲明
      變量無類型
      語法簡單而堅實
      自動內(nèi)存管理
      面向?qū)ο缶幊蹋?br>
      任何事物都是一個對象
      類,繼承,方法,等等
      單態(tài)方法
      模塊糅合
      迭代器和閉包(closures)
      總之:ruby吸取了所有語言精華
      perl的正則表達式
      python的語言的簡單性可讀性,、最容易的擴展能力,,強大的可移植性,。
      php的嵌入功能和多種客戶端
      smalltalk的純面向?qū)ο笳Z法和單繼承
      lisp的無窮嵌套的語法,也就是函數(shù)式的語法,。
      用“塊”來實現(xiàn)更快捷的數(shù)據(jù)結(jié)構(gòu)的處理,。不知道是不是scheme的宏功能。用塊能更清楚的實現(xiàn)python的表處理功能,。
      java和ada的線程編程
      java的安全編程
      不得不承認ruby確實是個精彩的語言,,它完全學會了lisp的所有編程都是函數(shù)的思想,smalltalk的所有東西都是對象的思想,,perl的一個目的多種手段的方法,,python的簡單化的“最少驚喜”的原則,java的多線程和安全控制的功能,,tcl的容易擴展的功能,,
      php的嵌入功能和強大客戶端的功能,最方便的shell命令的調(diào)用,。
      Ruby的應用:
      如果不在乎商業(yè)機密,,應用目標也不是太苛刻的話,編寫大型跨平臺程序可以選擇ruby腳本語言,,它具有全面的庫的支持,,有和c語言方便的交互能力。他們和java相比,,編程效率更高,。同時因為沒有編譯,程序更方便修改,。因為他們的庫都是用c實現(xiàn)的,,也比java有更高性能。同時,,他是開源的,,方便定制。也是不滿意java的不可控制的越來越龐大的庫的又一個選擇,。
      作為簡單應用的工具語言,,由于Ruby的跨平臺移植性好,應用也比較廣泛,。Ruby也是對python不滿意的另一個選擇,,它提供了很多額外的功能。
      作為程序的嵌入語言,,原來有l(wèi)isp,、basic、java和python現(xiàn)在可以選擇Ruby,。
      PERL
      一起源
      看看Perl的創(chuàng)造者
      Perl(Practical Extraction and Report Language),,是一種腳本語言,。 最初的設計者為拉里•沃爾(Larry Wall),它於1987年12月18日發(fā)表,。Perl借取了C,、sed、awk,、shell scripting以及很多其他程式語言的特性,。Perl原名pearl。在這個語言官方發(fā)表前,,拉里•沃爾發(fā)現(xiàn)已經(jīng)有個程式語言“pearl”,,便改變將這個程式語言的名字改成Perl。無大寫字母(perl)時就指它的直譯器,。將Perl寫成”PERL”是不適當?shù)?,所以它并非一個縮寫字。
      PERL從面世以來的1.0版本到現(xiàn)今的5.6版本,一直都有編譯程序.主要因為國內(nèi)的中文資料很少,大多數(shù)人不愿意去看或者不懂得英文資料,所造成不知道其編譯方法.即使是很多PERL界高手也同樣有此類問題. PERL編譯方法五花八門,各種編譯方法都有其重要的意義和弱點.另一方面PERL編譯方法不能流行的原因 是,本身PERL就是一個免費的東西,人們不希望PERL成為編譯的商品,但是在國內(nèi)也就因此而拖累了PERL的發(fā)展步伐. PERL編譯有些局限性,雖然可以完成所有任務,但想要達成良好的編譯效果,就需要高超的編程技術和相關經(jīng)驗,重要的是對OOP(面向?qū)ο蟮拇_程序設計)的了解,將會使得你的PERL程序更加易于編譯,運行速度更快,兼容性更廣等特性.
      PERL在可嵌入式技術方面:它的優(yōu)勢在于比其它嵌入語言有著無法比擬的兼容性, PERL不但擁有PHP的可嵌入HTML技術,也同樣支持用PRELSCRIPT寫ASP的.但是如果你希望你的程序可以編譯執(zhí)行那么可嵌入式方法顯然是不可能的.把eprel mod_prel等可嵌入式PERL HTML頁,或者把HTML置入程序之中,這兩種方法都有其好處以及壞處.

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

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多