靳晉
德州職業(yè)技術學院 山東德州 253034
淺談ASP與JSP
靳晉
德州職業(yè)技術學院 山東德州 253034
目前,常用的動態(tài)網(wǎng)頁語言有ASP和JSP,兩者都能夠為程序開發(fā)人員提供實現(xiàn)應用程序的編制與自帶組件設計網(wǎng)頁從邏輯上分離的技術,而且兩者都能夠替代CGI使網(wǎng)站建設與發(fā)展變得較為簡單與快捷。
ASP;JSP;Session對象
ASP是Active Server Page的縮寫,意為“動態(tài)服務器頁面”。ASP是微軟公司開發(fā)的代替CGI腳本程序的一種應用,它可以與數(shù)據(jù)庫和其他程序進行交互,是一種簡單、方便的編程工具。
JSP是Java Server Pages的縮寫,是由Sun Microsystems公司倡導,許多公司參與,一起建立的一種動態(tài)網(wǎng)頁技術標準。JSP技術有點類似ASP技術,它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。用JSP開發(fā)的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統(tǒ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應用程序。
JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發(fā)變得迅速和容易。
ASP是Microsoft開發(fā)的動態(tài)網(wǎng)頁語言,也繼承了微軟產(chǎn)品的一貫傳統(tǒng)——只能運行于微軟的服務器產(chǎn)品,IIS(Internet Information Server,Windows NT)和PWS(Personal Web Server,Windows 98)上。Unix下也有ChiliSoft的插件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的組合來擴充,Unix下的COM實現(xiàn)起來非常困難。
JSP幾乎可以運行于所有平臺。如Win NT、Linux、Unix。NT下IIS通過一個插件,如JRUN或者ServletExec,就能支持JSP。著名的Web服務器Apache已經(jīng)能夠支持JSP。由于Apache廣泛應用在NT、Unix和Linux上,因此JSP有更廣泛的運行平臺。雖然現(xiàn)在NT操作系統(tǒng)占了很大的市場份額,但是在服務器方面Unix的優(yōu)勢仍然很大,而新崛起的Linux更是來勢不小。從一個平臺移植到另外一個平臺,JSP和JavaBean甚至不用重新編譯,因為Java字節(jié)碼都是標準的、與平臺無關的。
為了跟蹤用戶的操作狀態(tài),ASP應用Session對象。JSP使用一個叫HttpSession的對象實現(xiàn)同樣的功能。Session的信息保存在服務器端,Session的ID保存在客戶機的cookie中。如果客戶機禁止cookie,Session ID就必須帶在url后面。Session一般在服務器上設置一個30分鐘的過期時間,當客戶停止活動后自動失效。Session中保存和檢索的信息不能是基本數(shù)據(jù)類型(primitivedatatypes)如int、double等,而必須是Java的相應的object(對象),如Integer、Double。
ASP使用ODBC通過ADO連接數(shù)據(jù)庫,而Java通過一個叫JDBC的技術聯(lián)接數(shù)據(jù)庫。目標數(shù)據(jù)庫需要一個JDBC驅動程序—— 一個數(shù)據(jù)庫與Java的借口,使得Java可以用標準的方式訪問數(shù)據(jù)庫。JDBC不使用服務器端的數(shù)據(jù)源。只要有JDBC驅動程序,Java就可以訪問數(shù)據(jù)庫。如果一個特定的數(shù)據(jù)庫沒有JDBC驅動程序,而只有ODBC驅動程序,Java提供一個JDBC-ODBC橋來將JDBC調(diào)用轉化為ODBC調(diào)用。所有的Java編譯器都帶有一個免費的JDBCODBC橋。理論上,橋可以訪問任何常見的數(shù)據(jù)庫產(chǎn)品。
有人做過試驗,對這兩種語言分別做循環(huán)性能測試及存取Oracle數(shù)據(jù)庫測試。在循環(huán)性能測試中,JSP只用令人吃驚的4秒鐘就結束了20000*20000的循環(huán);而ASP測試的是2000*2000循環(huán)(少一個數(shù)量級),用了63秒。數(shù)據(jù)庫測試中,二者分別對Oracle 8進行1 000次Insert、Update、Select和Delete,Jsp需要13秒,ASP則需要73秒。
JSP模型是在ASP之后定義的,它借用了ASP的許多優(yōu)點。JSP是未來發(fā)展的趨勢,世界上一些大的電子商務解決方案提供商都采用JSP/Servlet。正在學習或使用動態(tài)頁面的朋友可根據(jù)二者的特點選擇一種適合自己的語言。
TP312
B
1671-489X(2011)06-0089-01
10.3969 /j.issn.1671-489X.2011.06.089