js|web|評價|主流|js JSP:Java Server Page
JSP又是什麼原因出現的呢?Java在推向開發人員時出現了重重困難,首先是Java缺少主流系統的廣泛支援,而在所有的平台和技術上都缺少可以直接參照的應用方式。這時java就走向了在各個應用程式層上的積極進取,在自己擅長的與不擅長的領域都走出了堅定的腳步。其中最讓Web技術人員興奮的就是Java Servlet的出現和JSP的漸漸成熟,這一步步都讓Java正式的走向了Web開發技術的舞台。Java利用了它的跨平台技術,使java的應用能快速的部署在各個平台上,而真的可以一處編寫隨處運行。它有較的利用了這個優勢,巧妙的將java的通用性、jsp的易用性、servlet的速度結合在一起,利用平台部署上的技巧有效屏蔽java的速度問題,所以Java迅速的在Web開發人員的團員中推廣開來。攜著Java Bean、EJB、Java Application Server、Java事務伺服器等這樣的強大後台走向了真正的成熟應用。
Jsp到底是一個什麼樣的語言呢?實際上JSP就是Java,只是它是一個特別的Java語言,加入了一個特殊的引擎,這個引擎將HTTPServlet這個類的一些對象自動進行初始化好讓使用者使用,而使用者不用再去操心前面的工作。同時這個引擎又引入了<jsp:*、<%@等一系列的特別文法,使用這些文法來進行一些特定的操作,如引用檔案、URL轉向、JavaBean引用等這樣的操作,這些都是由引擎自動幫你完成初始化的工作。我們可以將這個引擎看作一個Jsp到Java Servlet的產生器或是翻譯器,讓使用者不用再面對複雜的Servlet中的還沒開始工作就要寫的幾十行代碼。這就是JSP--一個Java Servlet產生器。JSP->Java Servlet Code(.java檔案)->Java Runtime Bin Code(.class檔案),這就是為什麼我們第一次運行JSP時CPU運行能達到很高的原因,它實際上是調用了jsp引擎來產生java檔案,再用javac來編譯它到class檔案,這才能去執行它。同時也說明了在第一次運行以後,速度為什麼哪麼快的原因,只要這個jsp檔案不改變哪麼這個操作就不再會進行了(除非你刪除了class檔案)。所以說,java有什麼jsp就有什麼樣的功能,與asp一樣,jsp的真正力量是我們永遠看不到頭的!
強勢:
1、一處編寫隨處運行。這是一個程式員的夢想,也是從前的程式員的惡夢,為了在不同的平台間運行,使許多程式員一行行的重寫代碼。在這一點上java已經給了我最完美的答案它做的要比php更出色,除了系統之外,你的代碼不用做一點更改的。
2、系統的多台平支援。我已經在差不多所有平台上見到了一致的java servlet/jsp的Web Server/Application Server……系統它可以讓你在任意環境做開發,在任意環境進行系統部署,在任意環境擴充。相比asp/php的局限性是顯面易見的。
3、強大的的延展性。從只有一個小的jar檔案就可以運行servlet/jsp到由多台伺服器進行叢集和負載均橫,到多台Application進行交易處理、訊息處理......一台伺服器到無數以伺服器,Java顯示了一個巨人的生命力。
4、多樣化和功能強大的開發工具支援。這一點與asp很像,java已經有了許多非常優秀的開發工具而且有許多可以免費得到,並且其中的許多已經可以順利的運行於多種平台之下。如果你細心的使用它們會發現比自己第一面看到它們時的功能要強大的多。
弱勢:
1、與ASP一樣,Java的一些優勢正是它致命的問題所在。正是由於為了跨平台的功能,為了極度的伸縮能力,所以極大的增加了產品的複雜性。這麼說,它在擴充時需要的分成多少塊,哪麼java系統中就有多少種產品。所以你要以看到jre、jdk、jsdk、jswdk……,實際上它們只要有效搭配在一起,就可以產生強大的效能,密不可分,但是對於一位初學者來說:“有沒有搞錯!難道讓我運行一個jsp就要這麼多亂七八糟的東西!”
2、從出現的第一天起就被對手痛罵的:“慢如老牛”。真的,我在第一次運行我的jsp時,我竟然以為我的機器死機而將哪個進程給kill了!第一次編繹、運行對於使用者來說真是一場惡夢,在開發時我經常晚上做夢在看WinNT的工作管理員CPU格全綠時等著降下來的樣子和感覺。
3、技巧還是技巧。一個短處就一定要付出代價的。Java的運行速度是用將class常駐記憶體來完成的,所以它在一些情況下所使用的記憶體比起使用者數量來說卻實是“最低效能價格比”了。另一方面來說,它還需要硬碟空間來儲存一系列的.java檔案和.class檔案以及對應的版本檔案。
4、缺少系統性的資料。這也許不該說,但是sun在國內做的卻實很差勁,java的資烊在國內極少,到現在我還沒有在書店裡看到一本jsp的書,而對java體系的論述書更是少而又少,與java相關的書(中文版)到現在不過三位元。而再看看之中大量的具然還在講Visual J++或是Java 1.1這樣的陣年舊貨。
總結:
適用人群:具有較強學習能力和耐心的開發人員。投入低但是希望擁有較大的伸縮能力的應用。
適用平台:……(太多而只不再一一列說)適用應用:Internet/Intranet高可靠性應用、Internet/Intranet與Client/Server結合的應用系統
學習方式:Java的Doc文檔和java網站中的一系文檔Internet的原始碼資源(對不起大家,真的不能提出更好的建議了,再有的就是大家的能力和運氣,以及Inetnet上網友的協助了)
推薦開發工具:JBuilder/Visual Age for java(這個我沒用過,但是有人強力推薦)/Sun Forte for JavaKAWA
推薦開發環境:Windows NT/Windows 2000開發系統JBuilder 3.5(它能成為Web Server,甚至不再需要其它的工具)Tomcat 3.1JDK 1.3(可以不安裝)Access 2000/P II 266/128M RAM/9G HD
推薦應用環境(最少):RedHat Linux 6.2/MySQL 3.22/Apache 1.3.12/Tomcat 3.1/JDK 1.3Beta/PIII 500/512M RAM/9G HD
推薦應用環境(最佳):Solaris 8/Sybase 11/iPlanet Enterprise Web Server 4.1/JDK 1.3Beta/Sun Netra T1/1G RAM/18G HD