什么是JSP以及其強弱勢
什么是JSP及JSP的特點
JSP(Java Server Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。
用JSP開發的Web應用是跨平臺的,即能在Linux下運行,也能在其他操作系統上運行。
JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在于服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發變得迅速和容易。
Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序段,然后將執行結果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數據庫、重新定向網頁等,以實現建立動態網頁所需要的功能。
JSP與Java Servlet一樣,是在服務器端執行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。
JSP的1.0規范的最后版本是1999年9月推出的,12月又推出了1.1規范。目前較新的是JSP1.2規范,JSP2.0規范的征求意見稿也已出臺。
JSP技術中,JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網的所有特點。
自JSP推出后,眾多大公司都支持JSP技術的服務器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業應用的服務器端語言。
什么是JSP 2.0
JSP2.0是JSP的新版本。新的JSP規范版本包括新的用于提升程序員工作效率功能,主要有:
An Expression Language (EL)
允許開發者創建 Velocity-樣式 templates (among other things).更快更簡單的創建新標簽的方法。
Hello, ${param.visitor} <%-- same as: Hello, <%=request.getParameter("visitor")%>--%>
MVC模式
為了把表現層presentation從請求處理request processing 和數據存儲data storage中分離開來,SUN公司推薦在JSP文件中使用一種“模型-視圖-控制器”Model-view-controller 模式。規范的SERVLET或者分離的JSP文件用于處理請求。當請求處理完后,控制權交給一個只作為創建輸出作用的JSP頁。有幾種平臺都基于服務于網絡層的模-視圖-控件 模式(比如Struts 和Spring framework)。
JSP技術的強勢
(1)一次編寫,到處運行。在這一點上Java比PHP更出色,除了系統之外,代碼不用做任何更改。
(2)系統的多平臺支持。基本上可以在所有平臺上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP/PHP的局限性是顯而易見的。
(3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數臺服務器,Java顯示了一個巨大的生命力。
(4)多樣化和功能強大的開發工具支持。這一點與ASP很像,Java已經有了許多非常優秀的開發工具,而且許多可以免費得到,并且其中許多已經可以順利的運行于多種平臺之下。
JSP技術的弱勢
(1)與ASP一樣,JSP技術的一些優勢正是它致命的問題所在。正是由于為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產品的復雜性。
(2)Java的運行速度是用class常駐內存來完成的,所以它在一些情況下所使用的內存比起用戶數量來說確實是“最低性能價格比”了。從另一方面,它還需要硬盤空間來儲存一系列的.java文件和.class文件,以及對應的版本文件。
【編輯推薦】