jsp和asp性能,jsp主要特點

本文目錄一覽:

ASP和JSP哪個好?

ASP和JSP目前來說jsp比較好:

ASP(Active Server Pages)是微軟發布的腳本語言,利用它可執行的動態的Web服務應用程序。ASP的語法與Visual Basic非常類似,學過Visual Basic的人可以很快上手,它也是這幾種腳本語言中較簡單易學的開發語言。

JSP(Java Server Pages)是Sun公司退出的一種動態網頁開發技術。JSP技術是以Java語言作為腳本語言的,熟悉Java語言的人可以很快上手。JSP雖然本身也是腳本語言,但是卻和PHP、ASP有著本質的區別。PHP和ASP都由語言引擎解釋執行程序代碼,而JSP代碼卻被編譯成Servlet並由Java虛擬機執行,這種編譯操作僅在對對JSP頁面的第一次請求是發生(簡單來說,執行效率極快)。

以下是二者的對比:

JSP和ASP各自的優勢!

總的來講,JavaSever PagesTM(JSP)和 微軟的Active Sever Pages(ASP)在技術方面有許多相似之處。兩者都是為基於WEB應用實現動態交互網頁製作提供的技術環境支持。同等程度上來講,兩者都能夠為程序開發人員提供實現應用程序的編製與自帶組件設計網頁從邏輯上分離的技術。而且兩者都能夠替代CGI使網站建設與發展變的較為簡單與快捷。 儘管JavaSever Pages 技術和微軟的Active Sever Pages在許多方面都有相似的,但仍然存在很多不同之處,其中最本質上的區別在於:兩者是來源於不同的技術規範組織,其實現的基礎:WEB伺服器平台要求不相同。 一、JSP 技術:開放的技術 JSP和ASP技術明顯的不同點:開發人員在對兩者各自軟體體系設計的深入了解的方式不同。JSP技術基於平台和伺服器的互相獨立,輸入支持來自廣泛的,專門的,各種工具包,伺服器的組件和資料庫產品開發商所提供。相比之下,ASP技術主要依賴微軟的技術支持。 1、平台和伺服器的獨立性 JSP技術依附於一次寫入,之後,可以運行在任何具有符合JavaTM語法結構的環境。取而代之過去依附於單一平台或開發商,JSP技術能夠運行在任何WEB伺服器上並且支持來自多家開發商提供的各種各樣工具包。 由於ASP是基於Activex控制項技術提供客戶端和伺服器端的開發組件,因此ASP技術基本上是局限於微軟的操作系統平台之上。ASP主要工作環境是微軟的IIS應用程序結構,又因Activex對象具有平台特性,所以ASP技術不能很容易地實現在跨平台的WEB伺服器的工作。儘管ASP技術通過第三方提供的產品能夠得到組件和服務實現跨平台的應用程序,但是Activex對象必須事先放置於所選擇的平台中。 2、開放的開發過程,開放的原代碼 SUN應用JAVA社團性過程開發JSP技術。自從1995年,SUN已經用這種開放過程方法同國際JAVA組織合作開發和修改了JAVA技術與規範。針對JSP的產品,SUN授權了工具提供商(如Macromedia),結盟公司(如Apache,Netscape),最終用戶,協作商及其他。最近,SUN將最新版本的JSP和JavaTM Servlet(JSP 1.1,JAVA SERVLET 2.2)的原代碼發放給Apache,以求JSP與Apache緊密的相互發展。Apache,SUN和許多其他的公司及個人公開成立一個健壯的諮詢機構以便任何公司和個人都能免費取得信息。 JSP應用程序界面(API)毫無疑問已經取得成功,並將隨JAVA組織不斷開放擴大繼續完善。相反,ASP技術僅依靠微軟本身的推動,其發展是建立在獨佔的,封閉的開發過程基礎之上。 ASP技術 JSP技術 WEB伺服器 微軟的IIS或個人WEB伺服器 任何WEB伺服器包括Apache,Netscape,和IIS 操作系統平台 微軟的視窗系統 絕大多數的流行平台,包括solaris操作系統,微軟的視窗系統,MAC OS,Linux,及其他UNIX系列平台產品。 跨平台訪問 需要第三方ASP的引入產品 支持WEB信息機構環境中不同系列的計算機群即保證用戶在當前軟硬體及人力資源上的投資完全兼容,JSP技術提供靈活,開放選擇:可以使用各種各樣的工具提供商提供的工具,高度體現工業化標準輸入與配置 3、從開發人員的角度來看:ASP和JSP技術都能使開發者實現通過點擊網頁中的組件製作互動式的,動態的內容和應用程序的WEB站點。ASP僅支持組件對象模型COM,而JSP技術提供的組件都是基於JavabeansTM技術或JSP標籤庫。由此可以看出兩者雖有相同之處,但其區別是很明顯的。 1)JSP標籤可擴充性 儘管ASP和JSP都使用標籤與腳本技術來製作動態WEB網頁,JSP技術能夠使開發者擴展JSP標籤得以應用,JSP開發者能定製標籤庫,所以網頁製作者充分利用與XML兼容的標籤技術強大的功能,大大減少對腳本語言的依賴。由於定製標籤技術,使網頁製作者降低了製作網頁和向多個網頁擴充關鍵功能的複雜程度。 2)JSP跨平台的可重用性 JSP的開發人員在開發過程中一直關注可重用性。JSP組件(企業JavabeansTM,Javabeans,或定製的JSP標籤)都是跨平台可重用的。企業Javabeans組件可以訪問傳統的資料庫,並能以分散式系統模式工作於UNIX和WINDOWS平台。JSP技術的標籤可擴充功能為開發人員提供簡便的,與XML兼容的介面即共享網頁的打包功能使其完全的工業標準化。 這種基於組件的模式很有效提高應用程序的開發效率,因為這種模式能夠使開發人員利用快捷的子組件快速創建模板應用程序,然後再整合一些附加功能以後便可使用。象這樣有效的方法在JSP中無處不在,並可將其打包成一個Javabean或一個工業標準化的Javabean組件。 二、JAVA的優越性 JSP技術是用JAVA語言作為腳本語言的,而ASP網頁使用微軟的VBScrip或Jscrip。JAVA是成熟的,強大的,易擴充的編程語言,遠優於基於BASIC的腳本語言。如:JAVA的可執行性優於VBscript或Jscript語言。因為它們利用JAVA技術並且都被編譯為JAVA Servlets,JSP網頁為整個伺服器端的JAVA庫單元提供了一個介面來服務於HTTP的應用程序。

JAVA使開發人員的工作在其他方面也變的一樣容易,簡單。例如,當ASP應用程序在WINDOWS NT系統被懷疑可能會崩潰時,JAVA能有效的防止系統的崩潰。JAVA語言通過提供防止內存的泄漏的方法,在內存管理方面也能大顯身手。加之,JSP為應用提供了健壯的意外事件處理機制。 1、易於維護性 基於JSP技術的應用程序比基於ASP的應用程序易於維護和管理。 腳本語言都能很好服務於小的應用程序,但不能適應大型的,複雜的應用程序。因為,JAVA是結構化的,它比較容易創建和維護龐大的,組件化的應用程序。 JSP突出的組件技術使修改內容而不影響邏輯或修改邏輯而不影響內容變得很容易實現。 企業級的Javabeans結構整合了企業邏輯,例如資料庫的訪問,安全,事務完整性,及獨立性即獨立於應用程序。因為JSP技術是一種開放的,跨平台的結構,因此,WEB伺服器,平台,及其他的組件能很容易升級或切換,且不會影響JSP基本的應用程序。這一特點使JSP能夠適用現實世界的各種WEB應用程序不斷的變化和發展。 ASP技術 JSP技術可重用,跨平台組件 沒有JAVABEANS 企業級JAVABEANS,定製JSP標籤 安全:防範系統崩潰 沒有/有 內存泄露保護 沒有/有 腳本語言 VBscript,Jscript JAVA 定製標籤 沒有/有 2、企業產品的多樣性 JAVA2平台即企業版(J2EE)是適用於多企業應用程序的JAVA結構,作為J2EE的部分,JSP網頁可訪問所有J2EE的組件,包括Javabeans,企業級Javabeans及JAVA Servlets。JSP網頁都能完全編譯成為Servlets,所以它們都享有靈活性的特點和為伺服器端JAVA應用程序。J2EE平台內容不僅包括管理複雜的企業應用程序而且包括事務管理技術和Pooling資源管理技術。 JSP網頁可以訪問標準的J2EE服務,包括: (1) JAVA名稱和目錄界面API (2) JDBCTM API(與關聯的資料庫通訊) (3) JavaMailTM(支持基於JAVA郵件和消息應用程序的類) (4) JAVATM 消息服務 通過J2EE,JSP網頁能夠用許多方式同企業系統交互訪問。J2EE支持兩種CORBA規範的技術:JAVA IDL和RMI-IIOP。在企業級JAVABEANS技術支持下,JSP網頁通過運用高級的,對象映射的方式訪問資料庫。 最終,因為JSP技術是基於JAVA的開放性過程的產品,因此它能夠廣泛支持不同提供商提供的工具,WEB伺服器和應用程序的服務,這樣能夠使用戶選擇最佳的開發方法,選擇最適應他們的應用程序開發的工具包,同時,有效地保護用戶在代碼和人員培訓上的投資

asp與JSP有什麼區別?

ASP與JSP的比較

從微軟推出了ASP(ActiveServerPage)後,它以其強大的功能,簡單易學的特點而受到廣大WEB開發人員的喜歡。但是它卻有微軟產品的通病,只能在Windows平台下使用,雖然它可以通過增加控制項而在LINUX下使用,但是其功能最強大的DCOM控制項卻不能使用。而SUN公司在JAVA的基礎下開發出的JSP(Java ServerPages)實現了動態頁面與靜態頁面的分離,脫離了硬體平台的束縛,以及編譯後運行等方式大大提高了其執行效率而逐漸成為網際網路上的主流開發工具。為了使用廣大應用ASP的程序員們能近快的學會JSP。現把其異同對比如下:

一、結構

JSP和ASP在結構上類似,都是以「」作為標計符,不同的是在標計符之間的代碼ASP為JavaScript或VBScript腳本,而JSP為JAVA代碼。JSP將網頁的表現形式和伺服器端的代碼邏輯分開。作為伺服器進程的JSP頁面,首先被轉換成servlet(一種伺服器端運行的java程序)。Servlet支持HTTP協議的請求和響應。當JSP被轉換成純JAVA代碼。多個用戶同時請求一個jsp頁面時,應用實例化線程來響應請求。這些線程由WEB伺服器進程來管理,和ASP的線程管理器功能類似。同CGI為每個請求創建一個進程的模式比較,這種方式效率高的多。

二、性能和平台無關性

與C++、VB等語言比較,JAVA被看作是個效率不太高的語言,但它以犧牲效率換來了平台無關性使JAVA可以在大多數操作系統上運行而不需要重新編譯–許多人願意為此而付出代價。JAVA的編譯代碼是一種位元組代碼,在運行時由操作系統上的一個Java VirtualMachine(JVM)虛擬機解釋。位元組代碼可以在所有平台上遷移,而不需要任何改動。交叉平台編程傾向於採用所有操作系統的「最小公分母「,尤其是使用圖形化界面時(servlets不需要任何圖形界面)。Servlets比傳統的java程序(applets, javaapp)要快,因為它們在伺服器端運行,不需要載入沉重的GUI(HTML的GUI是非常少的)。另外,servlets的位元組代碼只有在客戶請求時才執行,所以儘管當首次調用servlets時會有幾秒鐘的載入時間,但後續的請求相應非常迅速,因為伺服器已經緩存了運行的servlets。當前的jsp伺服器,都帶有java 即時編譯器(JIT),因此,JSP的執行比每次都要解釋執行的ASP代碼要快,尤其是在代碼中存在循環操作時,JSP的速度要快1到2個數量級。

三、Session管理

為了跟蹤用戶的操作狀態,ASP應用SESSION對象。JSP使用一個叫HttpSession的對象實現同樣的功能。Session的信息保存在伺服器端,Session的id保存在客戶機的cookie中。如果客戶機禁止cookie,Session Id就必須帶在url後面。Session一般在伺服器上設置了一個30分鐘的過期時間,當客戶停止活動後自動失效。Session 中保存和檢索的信息不能是基本數據類型(primitivedatatypes)如(int, double)等,而必須是java的相應的object(對象)如(Integer,Double)。

HttpSessionsession=request.getSession();//得到一個session對象或創建一個

session.getId()//得到sessionID數

Integerid=(Integer)session.getValue(「id「)//檢索出session的值並轉化為整型 session.putValue(「ItemValue「,itemName);//ItemValue必須不是must簡單類型

四、Application管理

有時伺服器需要管理面向整個應用的參數,使得每個客戶都能獲得同樣的參數值。和Session一樣,ASP使用Application對象而JSP使用ServletContext對象,操作的方法和Session一樣。

getServletContext().setAttribute(「Item「,ItemValue);//設置一個應用變數

Integeri=(Integer)getServletContext().getAttribute(「ItemName「);//得到//item

五、ServerSideIncludes

在伺服器端引用上ASP和JSP有著相同之處。ASP和JSP都可以支持此功能的伺服器(IIS,APACHE)上實現伺服器端包含虛文件。但JSP是將動態頁面的結果包含進來,而不是包含文件的代碼本身。當你包含的文件在另一個伺服器上時,不包含任何代碼和對象是一個非常有效的功能。

ASP:

JSP:!–#include file=”subfile.asp” —

六、JAVA組件:JavaBeans

JavaBeans是一些完成預定義功能的封裝的對象數據。JavaBeans和JSP接合與COM和ASP相比如下:

COM對象常用來封裝商業邏輯和為ASP頁面完成高強度計算。重用的組件使得頁面簡單快速,因為組件由編譯語言(C++,VB)構成,而不是解釋型的scripting語言(VBScript, JScript)。

JavaBeans只能用java語言開發,com可以由符合標準對象模型的任何語言開發(包括Visual J++)。另一方面,JavaBeans更容易開發,因為一旦掌握了java,了解JavaBeans的結構非常容易。由於com的複雜性,需要大量的學習和培訓才能掌握–即使你具有c++和vb的基礎也需要額外的努力。Com 組件需要在伺服器上註冊,如果你修改了一個現有的組件,伺服器需要重新啟動才能使用它。JavaBeans不需要重新註冊,如果開發者不需要得到對伺服器的完全訪問許可權,這是其一個巨大的優點。

可以創建滿足商業邏輯的完整的JavaBeans庫,讓非編程人員使用庫來開發動態網站。

Beans可以在伺服器端管理資料庫連接。

JavaBeans符合結構化對象模型:每個Bean由一個不帶參數的構造函數,控制它的servlet可以使用內省(introspection)來設置其屬性。要設置Bean的內置屬性,必須使用帶有屬性名的setProperty標籤。如果一個屬性可以設置,Bean需要有一個setXxxx方法,Xxxx用實際的屬性名來代替。

七、JSP和資料庫

ASP使用ODBC通過ADO連接資料庫,而JAVA通過一個叫JDBC的技術聯接資料庫。目標資料庫需要一個JDBC驅動程序–一個資料庫與JAVA的介面,使得JAVA可以用標準的方式訪問資料庫。JDBC不使用伺服器端的數據源。只要有JDBC驅動程序,JAVA就可以訪問資料庫了。如果一個特定的資料庫沒有JDBC驅動程序,而只有ODBC驅動程序,JAVA提供一個JDBC-ODBC橋來將JDBC調用轉化為ODBC調用。所有的JAVA編譯器都帶有一個免費的JDBC-ODBC橋。理論上,橋可以訪問任何常見的資料庫產品。

結論:JSP模型是在ASP之後定義的,它借用了ASP的許多優點,如Session,Application等對象。同時JSP使用靈活而強大的JAVA語言,而不是低效的Scripting語言。ASP開發者只能使用基於windows平台的技術,而java和jsp是跨平台的。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/194240.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-02 09:43
下一篇 2024-12-02 09:43

相關推薦

發表回復

登錄後才能評論