自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JSP能否再掀Web狂潮

開發(fā) 后端
本文描述JSP能否再掀Web狂潮?以及介紹了JSP的前世,JSP今生和JSP未來之路。

JSP的誕生猶如軟件業(yè)的一個重型炸彈,迅速的在業(yè)界引起了轟動,JSP的平臺無關(guān)性以及一次編譯處處運行等特點,讓很多網(wǎng)絡(luò)寵兒,暗然失色,就連身出門的Asp也只有超架之功,毫無還手之力,可是轉(zhuǎn)眼幾年的風(fēng)光過后,JSP從一個軟件業(yè)的寵兒,變成今天的流浪者,是什么原因造成如此大的反差,讓我們隨著JSP的發(fā)展足跡看它能否重現(xiàn)往日輝煌? ASP和JSP之間的競爭最能引人注目,JSP能否再掀Web狂潮?

JSP的前世

在上個世紀(jì)的最后十年,是Web由誕生到興起的最關(guān)鍵的十年。這期間發(fā)生了很多決定未來互聯(lián)網(wǎng)命運的大事,如1990年11月,世界上第一個Web服務(wù)器nxoc01.cern.ch誕生。1990年12月,世界上第一個Web瀏覽器誕生,1991年,CERN(European Particle Physics Laboratory)正式發(fā)布了Web技術(shù)標(biāo)準(zhǔn)。

最初的Web程序在前端只能顯示靜態(tài)的HTML頁,而Web程序一般是使用C/C++、Pascal等語言編寫的CGI程序。這種程序的主要優(yōu)點是快速,但它的缺點也很顯然,由于CGI為每個請求單獨建立一個進程,這也就意味著如果有大量的請求的話,在服務(wù)端將占用大量的資源。因此,也就注定了CGI不能為海量的用戶提供服務(wù)。當(dāng)然,CGI的誕生也符合當(dāng)時的背景。因為當(dāng)時的計算機配置還不是很高,而且網(wǎng)絡(luò)速度不快。并且使用Web的人也不多,因此,CGI 的快速(由于當(dāng)時的CPU的主頻不高,使用解釋型語言太慢,只能使用編譯型語言)和只傳送靜態(tài)的HTML成為當(dāng)時的主流。

但隨著計算機和網(wǎng)絡(luò)的不斷發(fā)展,動態(tài)的網(wǎng)頁逐漸取代的死板的靜態(tài)網(wǎng)頁。在后端也逐漸從最初的CGI轉(zhuǎn)向了解釋型的語言。

在看到Web應(yīng)用的不可阻擋之勢后,微軟在1996年推出了ASP1.0,ASP一推出,就立刻受到了Web開發(fā)人員的歡迎,使用量也猛增。

沒有人會看著一個大蛋糕被瓜分而無動于衷。至從Java在1995年問世以來,Sun一直在尋找新的突破點。雖然最初Java靠著Applet搶占了前端的一些市場,但這個自許為救世主的公司怎能滿足這一點蠅頭小利。終于,在1998年,也就是在第一個ASP版本發(fā)布的2年后,Sun終于推出了自己的第一個JSP版本。從此,Web應(yīng)用開發(fā)的混戰(zhàn)愈演愈烈。

JSP今生

在二十世紀(jì)末,引發(fā)了一次Web狂潮。這其中的主角就是JSP。

這次狂潮從1997年開始。Sun在1997年6月發(fā)布了它的第一個Web服務(wù)器:“Java Web Server”,同時公布了“Java Web Server”所使用的Servlet API。其中Servlet API只是Web服務(wù)器的一個副產(chǎn)品,但令Sun沒想到的是這個副產(chǎn)品正好迎合了廠商的戰(zhàn)略需要,HTTP服務(wù)是一個非常理想的前端;所以基于Java的Web引擎,也在此時成了企業(yè)級Java解決方案的一個必不可少的部分。

轉(zhuǎn)眼到了1998年。由于Servlet API有著先天的不足,無法在其中嵌入HTML等前端代碼,因此,在這一年,Sun又推出了JSP。這項和ASP極為相似的技術(shù)迅速成為當(dāng)時的主流。

1999年是不尋常的一年。在這一年里,隨著JSP的推出,Web世界之間的競爭變得越發(fā)激烈。這些競爭主要表現(xiàn)在前端和后端,在前端主要是瀏覽器之間的競爭。我曾經(jīng)記得一本叫《Inside Visual C++》的書中給出了一個Web瀏覽器的例子。作者在這一節(jié)的開頭說,如果你幾年前能開發(fā)一個功能強大的Web瀏覽器,那一定會給你帶來上千萬的利潤,但你現(xiàn)要做這個東西,最多也只能是練習(xí)一下C++而已??梢姰?dāng)時瀏覽器的競爭是多么的激烈,利潤是多么的可觀。在后端,Web服務(wù)器的競爭也異常慘烈。在 1999年底,市面上至少存在30種以上“Web服務(wù)器”,這其中包括后來的驕驕者WebLogic??梢姰?dāng)時這類軟件是網(wǎng)絡(luò)風(fēng)險投資的寵兒。

Sun在1999年初發(fā)布JSP1.0后,在1999年11月又發(fā)布了JSP1.1。這個JSP版本大約使用了2年多,在2002年4月,Sun又發(fā)布了JSP1.2。在1年之后,Sun又對JSP進行了重大升級,發(fā)布了JSP版本一直使用到現(xiàn)在。直到最近,Sun發(fā)布了JSP2.1的測試版,這標(biāo)志著JSP又往前進了一步。

在JSP發(fā)展的同時,有另一股強大的勢力也在不斷地發(fā)展,這就是來自微軟的ASP。在Web世界群雄并起,軍閥割據(jù)的年代。ASP和JSP之間的競爭最能引人注目。這兩種技術(shù)分別代表了兩個利益集團:微軟和Sun。ASP以它的快速開發(fā)和發(fā)布方便,以及微軟強大的支持贏得了大量的用戶。而JSP也不甘示弱,仗著Java的跨平臺特性以及Java的強大而豐富的類庫,在Windows平臺以及類Unix平臺上咄咄逼人。它們依靠各自的優(yōu)勢互有勝負(fù)地爭斗了數(shù)年。

隨著JSP的迅猛發(fā)展,J2EE中的其它部分,如EJB,也在不斷地發(fā)展。在2001年9月,Sun推出了強大的EJB2.0。EJB2.0為我們提供了遠(yuǎn)程對象訪問,對象持久化,事務(wù)等很多企業(yè)級的功能。這也為Web的企業(yè)級的應(yīng)用拉開了序幕。但EJB2.0有一個致命弱點,這就是它的復(fù)雜,以至于復(fù)雜到難以使用的程度。EJB2.0的這個弱點卻給了別人機會。這就是那些基于Java的開發(fā)框架。這其中的驕驕者是Struts、Hibernate和Spring。其中最突出的要數(shù)幾乎和EJB2.0同時誕生的Hibernate。這是個輕量級的框架,它能以非常方便的方式實現(xiàn)EJB的對象持久化,事務(wù)等企業(yè)級的功能,因此,它一誕生,立刻就引起了轟動。還有就是Struts,這個最典型的實現(xiàn)MVC模式的框架使Web開發(fā)變得更有層次感、也更容易維護了。

總之,JSP一路發(fā)展到今天,凝聚了無數(shù)人的心血,甚至還有競爭對手的壓力。同時伴隨著JSP共同成長的還有很多優(yōu)秀的框架,以及許多新的開發(fā)模式。但JSP以后的路還很長,現(xiàn)在Sun正在制定新的JSP規(guī)范和JSF規(guī)范。希望這將使JSP變得更強大和易用。

JSP未來之路

在幾年前的Web之爭中, ASP和JSP要算其中的主角了,在這場戰(zhàn)爭,ASP由于不敵JSP而沒有成為目前企業(yè)級開發(fā)的主流。但Web之戰(zhàn)還遠(yuǎn)未結(jié)束?,F(xiàn)在ASP雖然未完全退出市場,但目前大多數(shù)的ASP網(wǎng)站都是以前遺留下來的。如果是新做的網(wǎng)站,大多數(shù)人可能都不會選擇ASP,有一部分人可能會選擇ASP.NET,或是PHP。當(dāng)然,原來的一部分ASP用戶可能會投身于JSP的懷抱。

我在網(wǎng)上看到有很多人說JSP是Sun的一大敗筆。我可并不這么認(rèn)為。其實任何腳本語言的原理都差不多,如ASP、PHP或是JSP。至于哪種腳本語言可以獲得成功,就要看這種腳本語言是否有與之配套的外圍服務(wù)。如是否提供了相應(yīng)的開發(fā)工具,開發(fā)工具是否易用、在處理某些資源(如字符串、編碼轉(zhuǎn)換)上是否容易等等。這就象操作系統(tǒng)的成功取決于在這個操作系統(tǒng)上有多少支持它的軟件一樣。不管JSP最后是成功、還是失敗,也許都不能完全歸功或歸咎于JSP的技術(shù)本身,畢竟,技術(shù)的成功并不等于商業(yè)的成功。就象Delphi現(xiàn)在的處境一樣,這并不等于說Delphi是Borland的一大敗筆,恰恰相反,Borland是靠Delphi成名的。一種技術(shù)產(chǎn)品是否成功,要看設(shè)計它的公司是否能抓住戰(zhàn)機,以及實施怎樣的策略。但愿JSP不要成為下一個Delphi。

不過,還是有一些好消息的,前一段時間,Sun更新了JSP和Servlet標(biāo)準(zhǔn),并且發(fā)布了JDK5,在不久將會發(fā)布JDK6。這些新的JDK版本將對JSP有了更強的支持,再加上近年來不斷涌現(xiàn)的優(yōu)秀的框架(如struts、hibernate、spring等),使JSP變得比它剛誕生時更強大了。

如果你使用JSP已經(jīng)很長時間了,你就會發(fā)現(xiàn),JSP雖然功能強大,但是在開發(fā)Web圖形界面方面卻顯得力不從心。由于前端的HTML、JavaScript等代碼必須要手工或使用其它的網(wǎng)頁設(shè)計器生成。這將使得JSP在開發(fā)界面時非常不方便。因此,Sun為我們提供了新的Web界面標(biāo)準(zhǔn):JSF(JavaServer Faces)。JSF為我們提供了一種以組件為中心來開發(fā) Java Web 用戶界面的方法,從而簡化了開發(fā)。目前Sun已經(jīng)在推出J2SE5.0的同時,推出了JSF1.2,試圖使J2EE 中不同 Web 層技術(shù)之間趨于一致??磥鞸un要在Web界面領(lǐng)域和微軟的ASP.NET一爭高下了,但愿以后能出現(xiàn)象Visual Studio一樣的JSP和JSF開發(fā)工具。到那時,Web應(yīng)用之間的競爭也許會進入白熱化階段,讓我們拭目以待吧!

【編輯推薦】

  1. 無需修改代碼增強Servlet和JSP的安全性
  2. 詳解JSP指令和腳本元素
  3. 如何加快JSP訪問速度
  4. 談JSP與XML的交互
  5. Tomcat下JSP、Servlet和Bean的配置
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2017-05-19 16:55:22

睿江云520優(yōu)惠降價

2011-08-05 09:14:50

Apple云計算

2011-08-25 22:16:31

惠普PC業(yè)務(wù)暗戰(zhàn)

2025-01-26 13:03:35

2020-04-09 16:28:34

存儲

2017-10-23 11:42:10

敦煌網(wǎng)

2010-11-11 13:18:29

2015-02-10 09:22:08

CITE

2013-06-07 17:53:44

桌面虛擬化云終端

2009-11-30 10:00:04

2011-11-10 18:56:40

2014-10-14 12:57:18

短信蠕蟲

2009-06-23 16:22:23

JSF能否

2015-02-14 16:33:24

車聯(lián)網(wǎng)智能汽車CITE2015

2010-09-06 21:22:45

2015-04-23 17:06:33

Cocos開發(fā)者

2015-08-25 11:10:25

光纖布線

2009-05-26 15:40:43

SunIT優(yōu)化解決方案

2017-11-02 16:23:34

人臉識別

2017-06-26 14:39:24

旗艦
點贊
收藏

51CTO技術(shù)棧公眾號