天天看點

JSP技術的優缺點介紹

什麼是JSP?JSP可用一種簡單易懂的等式表示為:HTML+Java=JSP。

JSP技術使用Java程式設計語言編寫類XML的tags和scriptlets,來封裝産生動态網頁的處理邏輯。

網頁還能通過tags和scriptlets通路存在于服務端的資源的應用邏輯。

JSP将網頁邏輯與網頁設計和顯示分離,支援可重用的基于元件的設計,使基于Web的應用程式的開發變得迅速和容易。

Web伺服器在遇到通路JSP網頁的請求時,首先執行其中的程式段,然後将執行結果連同JSP檔案中的HTML代碼一起傳回給客戶。插入的Java程式段可以操作資料庫、重新定向網頁等,以實作建立動态網頁所需要的功能。

JSP與Java Servlet一樣,是在伺服器端執行的,通常傳回該用戶端的就是一個HTML文本,是以用戶端隻要有浏覽器就能浏覽。

JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。

伺服器在頁面被用戶端請求以後對這些Java代碼進行處理,然後将生成的HTML頁面傳回給用戶端的浏覽器。

Java Servlet 是JSP的技術基礎,而且大型的Web應用程式的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平台無關性且安全可靠,主要面向網際網路的所有特點。

自JSP推出後,衆多大公司都支援JSP技術的伺服器,如IBM、Oracle、Bea公司等,是以JSP迅速成為商業應用的伺服器端語言。JSP和 Servlet要放在一起講,是因為它們都是Sun公司的J2EE(Java 2 platform Enterprise Edition)應用體系中的一部分。Servlet的形式和前面講的CGI差不多,它是HTML代碼和背景程式分開的。它們的啟動原理也差不多,都是伺服器接到用戶端的請求後,進行應答。不同的是,CGI對每個客戶請求都打開一個程序(Process),而Servlet卻在響應第一個請求的時候被載入,一旦Servlet被載入,便處于已執行狀态。對于以後其他使用者的請求,它并不打開程序,而是打開一個線程(Thread),将結果發送給客戶。由于線程與線程之間可以通過生成自己的父線程(Parent Thread)來實作資源共享,這樣就減輕了伺服器的負擔,是以,Java Servlet可以用來做大規模的應用服務

JSP技術的優點

(1)一次編寫,到處運作。由于JSP/Servlet都是基于Java的,是以它們也有Java語言的最大優點——平台無關性,也就是所謂的“一次編寫,随處運作(WORA – Write Once, Run Anywhere)”。除了這個優點,JSP/Servlet的效率以及安全性也是相當驚人的。

(2)系統的多平台支援。基本上可以在所有平台上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴充。相比ASP/PHP的局限性是顯而易見的。

(3)強大的可伸縮性。從隻有一個小的Jar檔案就可以運作Servlet/JSP,到由多台伺服器進行叢集和負載均衡,到多台Application進行事務處理,消息處理,一台伺服器到無數台伺服器,Java顯示了一個巨大的生命力。

(4)多樣化和功能強大的開發工具支援。這一點與ASP很像,Java已經有了許多非常優秀的開發工具,而且許多可以免費得到,并且其中許多已經可以順利的運作于多種平台之下。

JSP技術的弱勢

(1)與ASP一樣,Java的一些優勢正是它緻命的問題所在。正是由于為了跨平台的功能,為了極度的伸縮能力,是以極大的增加了産品的複雜性。