JSP 和ASP.NET有什么區(qū)別
JSP 和ASP.NET有什么區(qū)別
ASP
asp.net 和 jsp之間的區(qū)別
拋開公司等因素主要區(qū)別就是.ASP.NET是用C#/VB/J#等語言寫的基于.NET,但只能運(yùn)行在WINDOWS下的.JSP只能用JAVA寫,但可以跨平臺.JSP安全系數(shù)大點(diǎn).ASP.NET成本低點(diǎn).開發(fā)時間一般JSP大于ASP.NET
請問ASP,ASP.NET,JSP,PHP有什么異同呢
asp,jsp,php都是動態(tài)網(wǎng)頁技術(shù),可以實(shí)現(xiàn)瀏覽者和網(wǎng)站的交互,比如讀取數(shù)據(jù)庫的資料,根據(jù)不同用戶提供不同的界面等。 asp是微軟的動態(tài)網(wǎng)頁技術(shù),使用VB這樣的腳本語言編寫,大量的編程語言嵌入到html的代碼中,用戶在瀏覽網(wǎng)頁時對服務(wù)器發(fā)送一個請求,服務(wù)器中的asp引擎來解析網(wǎng)頁中嵌入的VB腳本語言,根據(jù)這些腳本語言繪制出完整的html頁面返回給瀏覽器,瀏覽器就能夠顯示出頁面了。
jsp是sun的動態(tài)網(wǎng)頁技術(shù),或者現(xiàn)在應(yīng)該說是oracle的技術(shù)了,jsp是用java語言編寫的(更準(zhǔn)確的說是java結(jié)合html語言),jsp和asp執(zhí)行方式大致相同,用戶提交請求后服務(wù)器的JVM解析jsp頁面中的jsp腳本代碼,然后根據(jù)這些jsp腳本代碼生成html頁面發(fā)送給客戶端瀏覽器,瀏覽器顯示出頁面。
jsp和asp不同的地方是jsp背后有servlet技術(shù),java bean,EJB組件等技術(shù)的支持,可以使負(fù)責(zé)邏輯處理的代碼和頁面完全分離,jsp值負(fù)責(zé)顯示要輸出的信息,邏輯處理部分交給servlet和java bean去做,這些代碼不用寫在頁面上,而是寫在后臺專門的類中,java能辦到的事jsp都能辦到,而asp大量邏輯代碼和html代碼參雜到一起使維護(hù)工作非常困難。jsp和asp更大的不同是jsp技術(shù)完全跨平臺,不論linux和windows平臺jsp都能完全支持,而asp只能在windows平臺上運(yùn)行,windows平臺安全性又備受爭議,jsp技術(shù)在對數(shù)據(jù)庫訪問性能方面比asp要強(qiáng)得多。 asp.net是微軟為了抗衡jsp推出的改進(jìn)版asp平臺,asp.net不再局限于vb,現(xiàn)在主要是C#,asp.net和jsp一樣實(shí)現(xiàn)了邏輯代碼和頁面分離,但是不如jsp好。 asp.net的優(yōu)點(diǎn)是簡單,開發(fā)比jsp效率高。
個人認(rèn)為在大型網(wǎng)站方面asp.net完全不具備和jsp抗衡的能力,但是由于開發(fā)效率高所以小型網(wǎng)站asp.net更適合。 php最近幾年很流行,主要是學(xué)習(xí)簡單,開發(fā)速度快,有良好的數(shù)據(jù)庫交互能力,跨平臺,在國內(nèi)網(wǎng)站很常用。但是php缺乏大型企業(yè)的支持,不像asp有微軟jsp有oracle支持。
但是php有很廣泛的開源社區(qū)。國內(nèi)很多網(wǎng)站是用php做的。 綜合起來,jsp是發(fā)展的主流,國外很流行,但是國內(nèi)很冷清而且比較難學(xué)。
JSP和ASP的比較?
1、Web服務(wù)器的支持:大多數(shù)通用的 Web服務(wù)器如:Apache、Netscape和Microsoft IIS都支持JSP頁面,只有微軟本身的Microsoft IIS和Personal Web Server可以支持ASP。
2、平臺的支持:JSP具有平**立性,只要是一般的Java程序可以運(yùn)行的平臺,都支持JSP程序。
Windows平臺可以很好的支持ASP,但ASP對于基于Win32逐漸模型的依賴,使得它難于一直到其它平臺上。
3、組件模型:JSP是建立在可重用的、跨平臺的組件(如:JavaBeans、Enterprises JavaBeans 和用戶定制的標(biāo)簽庫等組件)之上的,而ASP使用的是基于Win32的COM組件模型。
4、腳本語言:JSP可以使用Java編程語言或JavaScript作為腳本語言,而ASP使用VBScript或Jscript作為腳本語言。
5、安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全結(jié)構(gòu)。 (6)與Access數(shù)據(jù)庫的連接:JSP使用JDBC建立與Access數(shù)據(jù)庫的連接,而ASP對Access數(shù)據(jù)庫使用Data ActiveObjects。
6、用戶定制的標(biāo)簽:JSP可以使用用戶定制標(biāo)簽庫進(jìn)行擴(kuò)充,而ASP中沒有用戶定制標(biāo)簽庫,ASP是不能擴(kuò)充的。 所以JSP更有優(yōu)勢!
JSP全名為Java Server Pages,中文名叫java服務(wù)器頁面,其根本是一個簡化的Servlet設(shè)計,它 是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。
JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件中插入Java程序段(Scriptlet)和JSP標(biāo)記,從而形成JSP文件,后綴名為。
用JSP開發(fā)的Web應(yīng)用是跨平臺的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。
ASP,ASP.NET,JSP以及PHP的區(qū)別
ASP(Active Server Pages)是微軟發(fā)布的腳本語言,利用它可執(zhí)行的動態(tài)的Web服務(wù)應(yīng)用程序。ASP的語法與Visual Basic非常類似,學(xué)過Visual Basic的人可以很快上手,它也是這幾種腳本語言中較簡單易學(xué)的開發(fā)語言。
ASP.NET是.NET FrameWork的一部分,是一項(xiàng)微軟公司的技術(shù),是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù),它可以在通過HTTP請求文檔時再在Web服務(wù)器上動態(tài)創(chuàng)建它們。
指 Active Server Pages(動態(tài)服務(wù)器頁面) ,運(yùn)行于 IIS(Internet Information Server 服務(wù),是Windows開發(fā)的Web服務(wù)器)之中的程序 。
JSP(Java Server Pages)是Sun公司退出的一種動態(tài)網(wǎng)頁開發(fā)技術(shù)。JSP技術(shù)是以Java語言作為腳本語言的,熟悉Java語言的人可以很快上手。JSP雖然本身也是腳本語言,但是卻和PHP、ASP有著本質(zhì)的區(qū)別。
PHP和ASP都由語言引擎解釋執(zhí)行程序代碼,而JSP代碼卻被編譯成Servlet并由Java虛擬機(jī)執(zhí)行,這種編譯操作僅在對對JSP頁面的**次請求是發(fā)生(簡單來說,執(zhí)行效率極快)。
PHP(Hypertext Prepocessor)的語法和Perl很相似,但是PHP所包含的函數(shù)卻遠(yuǎn)遠(yuǎn)多于Perl。PHP語法簡單,非常易學(xué)易用,很利于快速開發(fā)各種功能不同的定制網(wǎng)站。
由于其免費(fèi)、開源,它往往和同樣免費(fèi)、開源的Apache和MySQL搭配使用,可以非??焖俚拇钆湟惶坠δ茇S富的動態(tài)網(wǎng)站。
什么是JSP和ASP有什么區(qū)別?
ASP.Net和ASP的**區(qū)別在于編程思維的轉(zhuǎn)換,而不僅僅在于功能的增強(qiáng)。ASP使用VBS/JS這樣的腳本語言混合html來編程,而那些腳本語言屬于弱類型、面向結(jié)構(gòu)的編程語言,而非面向?qū)ο?,這就明顯產(chǎn)生以下幾個問題: 1、代碼邏輯混亂,難于管理:由于ASP是腳本語言混合html編程,所以你很難看清代碼的邏輯關(guān)系,并且隨著程序的復(fù)雜性增加,使得代碼的管理十分困難,甚至超出一個程序員所能達(dá)到的管理能力,從而造成出錯或這樣那樣的問題。
2、代碼的可重用性差:由于是面向結(jié)構(gòu)的編程方式,并且混合html,所以可能頁面原型修改一點(diǎn),整個程序都需要修改,更別提代碼重用了。
3、弱類型造成潛在的出錯可能:盡管弱數(shù)據(jù)類型的編程語言使用起來回方便一些,但相對于它所造成的出錯幾率是遠(yuǎn)遠(yuǎn)得不償失的。 以上是語言本身的弱點(diǎn),在功能方面ASP同樣存在問題,**是功能太弱,一些底層操作只能通過組件來完成,在這點(diǎn)上是遠(yuǎn)遠(yuǎn)比不上PHP/JSP,其次就是缺乏完善的糾錯/調(diào)試功能,這點(diǎn)上ASP/PHP/JSP差不多。那么,ASP.Net有哪些改進(jìn)呢? ASP.Net擺脫了以前ASP使用腳本語言來編程的缺點(diǎn),理論上可以使用任何編程語言包括C++ , VB , JS等等,當(dāng)然,最合適的編程語言還是MS為.Net Frmaework專門推出的C(讀c sharp)百科,它可以看作是VC和Java的混合體吧,盡管MS自己講C#內(nèi)核中更多的象VC,但實(shí)際上我還是認(rèn)為它和Java更象一些吧。首先它是面向?qū)ο蟮木幊陶Z言,而不是一種腳本,所以它具有面向?qū)ο缶幊陶Z言的一切特性,比如封裝性、繼承性、多態(tài)性等等,這就解決了剛才談到的ASP的那些弱點(diǎn)。
封裝性使得代碼邏輯清晰,易于管理,并且應(yīng)用到ASP.Net上就可以使業(yè)務(wù)邏輯和Html頁面分離,這樣無論頁面原型如何改變,業(yè)務(wù)邏輯代碼都不必做任何改動;繼承性和多態(tài)性使得代碼的可重用性大大提高,你可以通過繼承已有的對象**限度保護(hù)你以前的投資。并且C#和C++、Java一樣提供了完善的調(diào)試/糾錯體系。