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