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這個類的一些對象自動進行初始化好讓用戶使用,而用戶不用再去操心前面的工作。同時這個引擎又引入了
強勢:
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