網(wǎng)站發(fā)布的幾種形式?
網(wǎng)站:頁面動(dòng)態(tài)編譯,每個(gè)頁面都會(huì)編譯成一個(gè)dll;
Web應(yīng)用:采用增量編譯模式,編譯速度快,將整個(gè)Web項(xiàng)目編譯成一個(gè)dll;
MVC:這是一個(gè)MVC模式的網(wǎng)站,架構(gòu)分為模型、控制器和視圖。
ASP、ASP.NET、PHP、JSP四種語言的特點(diǎn)及區(qū)別是什么?
ASP,全稱是動(dòng)態(tài)服務(wù)器頁面。
ASP是微軟開發(fā)的后臺(tái)腳本語言。它的語法類似于VisualBASIC,可以像SSI(服務(wù)器端包含)一樣將后臺(tái)腳本代碼嵌入HTML頁面。ASP雖然簡單易用,但也有很多缺陷,其中最重要的就是安全性。目前,在微軟net策略,新的借鑒了Java技術(shù)的優(yōu)點(diǎn),使用CSharp(C#)的語言作為推薦語言,同時(shí)改進(jìn)了以前ASP安全性差的缺點(diǎn)。但是,仍然有一些限制,因?yàn)閺哪撤N角度來看,它們只能在微軟sWindowsNT/2000/XPIIS服務(wù)器平臺(tái)(雖然ChilliSoft提供了在UNIX/Linux上運(yùn)行ASP的解決方案,但是目前ASP在UNIX/Linux上的應(yīng)用可以說幾乎為零)。因此,平臺(tái)的局限性和ASP本身的安全性限制了ASP的廣泛應(yīng)用。
執(zhí)行ASP時(shí),IIS調(diào)用程序引擎,解釋并執(zhí)行HTML中嵌入的ASP代碼,最后將結(jié)果連同原HTML一起發(fā)送給客戶端。
PHP,全稱是PHP:超文本預(yù)處理器。
PHP的全稱很有意思。它是一個(gè)嵌套縮寫nam:超文本預(yù)處理器"。開縮寫或簡稱。PHP是一種HTML嵌入式語言(就像上面提到的ASP)。和PHP的獨(dú)特語法是C、Java、Perl和PHP風(fēng)格的新語法的混合。它可以比CGI或Perl更快地執(zhí)行頁。
PHP的源代碼是完全開放的,在開源意識(shí)高漲的今天是這方面的中流砥柱。隨著新函數(shù)庫的不斷添加和更新,PHP在UNIX和Win32平臺(tái)上都可以有更多的新函數(shù)。它提供了豐富的功能,這使得它在編程方面有更好的資源。目前PHP的最新版本是4.1.1,可以在Win32和u。NIX/Linux在幾乎所有平臺(tái)上都運(yùn)行良好。PHP在4.0版本后使用了全新的Zend引擎,優(yōu)化后的效率優(yōu)于CGI或ASP等傳統(tǒng)技術(shù)。
平臺(tái)無關(guān)性是PHP最大的優(yōu)點(diǎn),但是在優(yōu)點(diǎn)的背后,還是有一些小缺點(diǎn)。如果你不不要在PHP中使用ODBC,而是使用自己的數(shù)據(jù)庫函數(shù)(比使用ODBC效率更高)連接數(shù)據(jù)庫,使用不同的數(shù)據(jù)庫,PHP的函數(shù)名可以不統(tǒng)一。這樣,程序的移植就變得有點(diǎn)麻煩了。但是作為目前應(yīng)用最廣泛的背景語言,PHP的優(yōu)勢(shì)是顯而易見的。
JSP,全稱是JavaServerPages/Servlet。
JSP和Servlet應(yīng)該放在一起,因?yàn)樗鼈兌际荢unJ2EE(Java2平臺(tái)企業(yè)版)應(yīng)用系統(tǒng)。
Servlet的形式類似CGI,與HTML代碼和后臺(tái)程序分離。它們的啟動(dòng)原理類似,服務(wù)器收到客戶端的請(qǐng)求后進(jìn)行響應(yīng)。不同之處在于,CGI為每個(gè)客戶請(qǐng)求打開一個(gè)流程,但是Servlet是在響應(yīng)第一個(gè)請(qǐng)求時(shí)加載的。一旦加載了Servlet,它就處于執(zhí)行狀態(tài)。對(duì)于其他用戶請(qǐng)求,它不打開進(jìn)程,而是打開一個(gè)線程將結(jié)果發(fā)送給客戶。因?yàn)榫€程可以通過生成自己的父線程來共享資源,減輕了服務(wù)器的負(fù)擔(dān),所以JavaServlet可以用來做大規(guī)模的應(yīng)用服務(wù)。
雖然JSP在形式上看起來類似于ASP或PHP但兩者都可以嵌入到HTML代碼中。但是它的執(zhí)行和ASP或者PHP完全不同。JSP執(zhí)行時(shí),JSP解析器將JSP文件轉(zhuǎn)換成Servlet代碼,然后Java編譯器將Servlet代碼編譯成.class字節(jié)文件,這樣生成的Servlet就可以回復(fù)客戶端了。所以JSP可以看作是Servlet的腳本語言版本。
因?yàn)镴SP/Servlet都是基于Java的,所以它們還具有Java語言的最大優(yōu)勢(shì)——平臺(tái)無關(guān)性,這被稱為"寫一次,運(yùn)行在任何地方。除了這個(gè)優(yōu)勢(shì),JSP/Servlet的效率和安全性也相當(dāng)驚人。所以,JSP/Servl。雖然et目前在還沒有廣泛應(yīng)用,但是它的未來是不可限量的。
在調(diào)試JSP代碼時(shí),如果程序出現(xiàn)錯(cuò)誤,JSP服務(wù)器會(huì)返回一條錯(cuò)誤消息,并顯示在瀏覽器中。此時(shí),由于JSP在運(yùn)行前被轉(zhuǎn)換為Servlet,瀏覽器中顯示的代碼行數(shù)不是JSP源代碼的行數(shù),而是轉(zhuǎn)換后的Servlet程序代碼的行數(shù)。這給調(diào)試代碼帶來了一些困難。因此,在排除錯(cuò)誤時(shí),可以采用分段排除的方法(在可能出錯(cuò)的代碼前后輸出一些字符串,通過字符串是否輸出來確定代碼段從哪里開始出錯(cuò)),逐漸縮小錯(cuò)誤碼段的范圍,最終確定錯(cuò)誤碼的位置。
JSP與ASP的比較:
ASP在運(yùn)行速度、運(yùn)行開銷、運(yùn)行平臺(tái)、擴(kuò)展性、安全性、功能支持、廠商支持、XML支持等方面都不是JSP的對(duì)手。在實(shí)際編程中很難意識(shí)到com組件的復(fù)雜性。JAVABeans和JAVA的結(jié)合是無縫的。
與JSP和相比:
1.與C#相比,JSP的腳本語言JAVA也是一種面向?qū)ο蟮摹⒎植际降摹⒔忉屝缘恼Z言。
和C#類似,也去掉了難以理解的指針等概念,用類和對(duì)象代替。
3.JSP有一個(gè)全新的技術(shù)——servlet(服務(wù)器端程序),很好的節(jié)省了服務(wù)器資源。
是服務(wù)器控制技術(shù)。只要懂JAVA,JavaBeans很好寫。
5.然后是JAVA的JDBC數(shù)據(jù)庫連接技術(shù)。
6.JSP也廣泛支持XML。
1)面向?qū)ο蟮?
ASP將C#視為面向?qū)ο蟮恼Z言,在很多方面,C#將成為微軟類似Java的s語言。
關(guān)于C#的另一個(gè)有趣的事情是所有的對(duì)象都自動(dòng)成為COM對(duì)象。如果C#能夠獲得較大的市場(chǎng)份額,將會(huì)給ASP帶來類似Java的功能,性能更快,因?yàn)榭梢院蚖indows環(huán)境緊密結(jié)合。
C#是ASP開發(fā)中最重要的功能之一,微軟將把C#發(fā)展成為Java的強(qiáng)勁對(duì)手。這也是他們的重要組成部分。Net框架。我認(rèn)為C#是微軟在編程市場(chǎng)擊敗對(duì)手的主要工具。我期待微軟在這個(gè)產(chǎn)品上傾注全部心血,讓C#成為很多程序員的另一種選擇。C#的結(jié)果將進(jìn)一步加強(qiáng)微軟和Sun產(chǎn)品的前沿。這對(duì)用戶是有益的,他們可以選擇其中之一來開發(fā)新的應(yīng)用程序。
2)數(shù)據(jù)庫連接:
ASP的另一個(gè)亮點(diǎn)是使用了ADO對(duì)象、ODBC、OLE-DB和事務(wù)管理器。因此ASPWeb數(shù)據(jù)庫應(yīng)用程序開發(fā)特別簡單。ASP因?yàn)锳DO開發(fā)了更多的功能!ADO帶來了更強(qiáng)大更快速的功能。目前,JSP和JDBC在易用性和性能上與ASP/ADO相比有些落后,當(dāng)ASP/ADO的新版本出現(xiàn)時(shí),這種差異會(huì)更加明顯。個(gè)人希望孫能下大力氣,早日趕上ASP/ADO結(jié)合。
3)大型現(xiàn)場(chǎng)應(yīng)用:
ASP將對(duì)網(wǎng)絡(luò)農(nóng)場(chǎng)有更好的支持。事實(shí)上,微軟在這方面已經(jīng)做了很大的努力。ASP允許你考慮多個(gè)服務(wù)器的場(chǎng)合。當(dāng)你需要更強(qiáng)大的功能時(shí),你只需要增加一臺(tái)服務(wù)器。整個(gè)。Net框架已經(jīng)完全提供了這種方法。ASP提供了一個(gè)外部會(huì)話狀態(tài)來支持內(nèi)置的web場(chǎng)。此外,由于所請(qǐng)求的組件相互之間進(jìn)行了充分的優(yōu)化,因此速度非常快。
所以ASP現(xiàn)在可以在大型項(xiàng)目中擁有和JSP一樣的能力。ASP還具有價(jià)格優(yōu)勢(shì),因?yàn)樗薪M件都將是服務(wù)器操作系統(tǒng)的一部分。對(duì)于JSP,您需要購買一個(gè)昂貴的應(yīng)用服務(wù)器場(chǎng)來實(shí)現(xiàn)相同的目標(biāo)。
4)ASP還提供了許多其他新功能,例如:
*內(nèi)置對(duì)象緩存和頁面結(jié)果緩存。
*內(nèi)置XML支持,可用于XML數(shù)據(jù)集的簡單處理。
*服務(wù)器控件提供更充分的交互控制。
ASP確實(shí)在ASP方面有了很大的進(jìn)步。