明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

換個(gè)角度談JSP與PHP(摘)

[摘要]換個(gè)角度談JSP和PHP(摘)最近一段時(shí)間,有人老是問:JSP是否要代替PHP? 那我們就來了解一下 什么是JSP? 大家知道JSP是由Sun Microsystem公司與1999、6月推出的最新 ...
換個(gè)角度談JSP和PHP(摘)

最近一段時(shí)間,有人老是問:JSP是否要代替PHP? 那我們就來了解一下
什么是JSP? 大家知道JSP是由Sun Microsystem公司與1999、6月推出的最新
技術(shù),是基于Java Servlet以及整個(gè)java體系的web開發(fā)技術(shù),是Servlet 2.1
API的擴(kuò)展。利用這一技術(shù)可以建立先進(jìn),安全和跨平臺(tái)的動(dòng)態(tài)網(wǎng)站。

JSP與微軟的Active Server Pages 兼容,所不同的是它使用類似HTML
的標(biāo)記以及java 程序代碼段而不是VBScript.當(dāng)你所使用的網(wǎng)站服務(wù)器沒有
提供本地的ASP支持,可以考慮使用JSP.

JSP和SERVLET到底在應(yīng)用上有什么區(qū)別,很多人搞不清楚。簡單的說,SUN
首先發(fā)展出SERVLET,其功能比較強(qiáng)勁,體系設(shè)計(jì)也很先進(jìn),只是,它輸出
HTML語句還是采用了老的CGI方式,是一句一句輸出,所以,編寫和修改HTML
非常不方便。后來,sun推出了類似于ASP的同類JSP,把JSP TAG鑲嵌到html語句
中,這樣,就大大和方便了網(wǎng)頁的設(shè)計(jì)和修改。所以說,它和ASP,PHP是完全
一樣的嵌入型的腳本語言。

從網(wǎng)絡(luò)的結(jié)構(gòu)來看,一個(gè)網(wǎng)絡(luò)項(xiàng)目最少分為三層:數(shù)據(jù)層,邏輯層,用戶層。
servlet用來寫邏輯層,但用來寫用戶層就很不方便。jsp則主要是為了方便
寫用戶層的,當(dāng)然也可以寫邏輯層,F(xiàn)在有好多人,經(jīng)常會(huì)不自覺的把用戶層和
邏輯層混在一起。

其實(shí),根據(jù)sun自己的推薦,jsp中應(yīng)該僅僅存放于邏輯層有關(guān)的東西,
也就是,只放輸出html網(wǎng)頁的部分。而所有的計(jì)算,分析等,統(tǒng)統(tǒng)放在邏輯層
,應(yīng)該放在java bean中,通過jsp調(diào)用java beans,實(shí)現(xiàn)兩層的整合。

所以,學(xué)了jsp,不會(huì)用java bean并進(jìn)行整合,等于沒學(xué)。所以jsp在本質(zhì)
上和php, asp是類似的一個(gè)腳本語言。只不過,它是用java寫的。

php在用戶層上的表現(xiàn)是有目供睹的,現(xiàn)在唯一的問題就是它缺少一個(gè)邏輯
層,但這個(gè)邏輯層是可以用其它語言來寫的,就向COM/DCOM是用VB,VC寫的,
java bean是用java寫的,所以,php不一定非要用某個(gè)語言寫這個(gè)組件,
它完全可以調(diào)用其它語言寫的組件,用來實(shí)現(xiàn)比較復(fù)雜的邏輯功能。

不知大家注意到?jīng)]有,微軟提出的三層模型是:用戶層用asp,asp+,
邏輯層是com/com+,數(shù)據(jù)層是ado,而sun 提出的三層模型是:用戶層用jsp,
邏輯層是java bean,數(shù)據(jù)層是jdbc,而php呢,沒有以上的部分,這是為什么呢?

這就是因?yàn),它不是有某個(gè)公司來制定的,因?yàn)樗情_放源阿。所以,php將來
的發(fā)展方向應(yīng)該是如何做到和用其它組件完美結(jié)合的能力,完善與各個(gè)數(shù)據(jù)庫
有個(gè)統(tǒng)一的接口問題。也就是發(fā)揮我們?cè)谟脩舳说膬?yōu)勢,結(jié)合各種組件和數(shù)據(jù)庫
,從另一方面到達(dá)真正的跨平臺(tái),高效率,安全等要求。

其實(shí),我們不難發(fā)現(xiàn),sun開發(fā)了三類產(chǎn)品, 它們分別是客戶端用java applect
,服務(wù)器端用servlet, 數(shù)據(jù)庫端用jdbc,但大家也知道,客戶端采用applet已經(jīng)
很少了。說明,applet并不成功。也許將來在帶寬無限大的時(shí)候,也許會(huì)真正
實(shí)現(xiàn)它吧。

另外,說些局外的話,如果微軟被分拆,操作系統(tǒng)將戰(zhàn)火紛飛,那時(shí),想我們
這些軟件的開發(fā)人員必要找一個(gè)通用語言進(jìn)行開發(fā),到時(shí)java會(huì)一統(tǒng)天下。而且
從微軟分出的應(yīng)用軟件公司將成為java的新領(lǐng)導(dǎo)者。目前的java大頭sun和ibm都
死氣沉沉,令人失望。希望新公司能注入新活力。不過,這樣會(huì)影響java的跨
平臺(tái),因?yàn)橐归_java標(biāo)準(zhǔn)大戰(zhàn)。

最后,要說的是,jsp并不能完全代替php。