JSP簡介_JSP編程

來源:互聯網
上載者:User

JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準,其網址為http://www.javasoft.com/products/jsp。該技術為建立顯示動態產生內容的Web頁面提供了一個簡捷而快速的方法。JSP技術的設計目的是使得構造基於Web的應用程式更加容易和快捷,而這些應用程式能夠與各種Web伺服器,應用伺服器,瀏覽器和開發工具共同工作。 JSP規範是Web伺服器、應用伺服器、交易系統、以及開發工具供應商間廣泛合作的結果。在傳統的網頁HTML檔案(*htm,*.html)中加入Java程式片段(Scriptlet)和JSP標記(tag),就構成了JSP網頁(*.jsp)。Web伺服器在遇到訪問JSP網頁的請求時,首先執行其中的程式片段,然後將執行結果以HTML格式返回給客戶。程式片段可以操作資料庫、重新定向網頁以及發送 email 等等,這就是建立動態網站所需要的功能。所有程式操作都在伺服器端執行,網路上傳送給用戶端的僅是得到的結果,對客戶瀏覽器的要求最低,可以實現無Plugin,無ActiveX,無Java Applet,甚至無Frame。 



JSP技術在多個方面加速了動態Web頁面的開發:
一.將內容的產生和顯示進行分離
使用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小指令碼來產生頁面上的動態內容(內容是根據請求來變化的,例如請求帳戶資訊或者特定的一瓶酒的價格)。產生內容的邏輯被封裝在標識和JavaBeans組件中,並且捆綁在小指令碼中,所有的指令碼在伺服器端運行。如果核心邏輯被封裝在標識和Beans中,那麼其他人,如Web管理員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的產生。在伺服器端,JSP引擎解釋JSP標識和小指令碼,產生所請求的內容(例如,通過訪問JavaBeans組件,使用JDBCTM技術訪問資料庫,或者包含檔案),並且將結果以HTML(或者XML)頁面的形式發送回瀏覽器。這有助於作者保護自己的代碼,而又保證任何基於HTML的Web瀏覽器的完全可用性。



二.強調可重用的組件
絕大多數JSP頁面依賴於可重用的,跨平台的組件(JavaBeans或者Enterprise JavaBeansTM組件)來執行應用程式所要求的更為複雜的處理。開發人員能夠共用和交換執行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團體所使用。基於組件的方法加速了總體開發過程,並且使得各種組織在他們現有的技能和最佳化結果的開發努力中得到平衡。



三.採用標識簡化頁面開發
Web頁面開發人員不會都是熟悉指令碼語言的編程人員。JavaServer Page技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態內容產生所需要的。標準的JSP標識能夠訪問和執行個體化JavaBeans組件,設定或者檢索組件屬性,下載Applet,以及執行用其他方法更難於編碼和耗時的功能。
通過開發定製化標識庫,JSP技術是可以擴充的。今後,第三方開發人員和其他人員可以為常用功能建立自己的標識庫。這使得Web頁面開發人員能夠使用熟悉的工具和如同標識一樣的執行特定功能的構件來工作。
JSP技術很容易整合到多種應用體繫結構中,以利用現存的工具和技巧,並且擴充到能夠支援企業級的分布式應用。作為採用Java技術家族的一部分,以及Java 2(企業版體繫結構)的一個組成部分,JSP技術能夠支援高度複雜的基於Web的應用。
由於JSP頁面的內建指令碼語言是基於Java程式設計語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術的所有好處,包括健壯的儲存管理和安全性。作為Java平台的一部分,JSP擁有Java程式設計語言“一次編寫,各處運行”的特點。隨著越來越多的供應商將JSP支援添加到他們的產品中,您可以使用自己所選擇的伺服器和工具,更改工具或伺服器並不影響當前的應用。當與Java 2平台,企業版(J2EE)和Enterprise JavaBean技術整合時,JSP頁面將提供企業級的擴充性和效能,這對於在虛擬企業中部署基於Web的應用是必需的。



四.技術分析
Microsoft 公司的 ASP 技術也是動態網頁開發技術。JSP和ASP從形式上非常相似,ASP程式員一眼就能認出<% %>以及<%= %>。但是深入探究下去會發現它們很多的差別,其中最主要的有以下三點:



1、 JSP的效率和安全性更高
ASP以源碼形式存放,以解釋方式運行,每次ASP網頁調用都需要對源碼進行解釋,運行效率不高。另外,IIS的漏洞曾使得許多網站來源程式大曝光,包括筆者以前用ASP開發的網站,ASP程式全部被人下載了去。JSP在執行以前先被編譯成位元組碼 (byte code),位元組碼由Java虛擬機器(Java Virtual Machine)解釋執行,比源碼解釋的效率高;伺服器上還有位元組碼的Cache機制,能提高位元組碼的訪問效率。第一次調用JSP網頁可能稍慢,因為它被編譯成Cache,以後就快得多了。同時,JSP來源程式不大可能被下載,特別是JavaBean程式完全可以放到不對外的目錄中。
2、 JSP的組件 (Component) 方式更方便
ASP通過COM來擴充複雜的功能,如檔案上傳、發送email以及將業務處理或者複雜計算分離出來成為獨立可重複利用的模組。JSP通過JavaBean實現了同樣的功能擴充。在開發方面,COM的開發遠比JavaBean複雜和繁瑣,學會ASP不難,但學會開發COM可不簡單。而JavaBean就簡單多了,從本文上述樣本中可以看出開發JavaBean很方便。在維護方面,COM必須在伺服器上註冊,如果修改了COM程式,就必須重新註冊,甚至必須關機和重新啟動。JavaBean則不需要註冊,放在CLASSPATH包含的目錄中就行了。如果JavaBean進行了修改,則JSWDK和Tomcat現在還需要關閉和重新運行(但不是關機),但開發人員已經確保將在以後的版本中做到不需要關閉伺服器。另外JavaBean是完全的OOP,可以針對不同的業務處理功能方便地建立一整套可重複利用的物件程式庫,例如使用者權限控制、email自動回複等等。
3、 JSP的適應平台更廣
ASP目前僅適用於NT和IIS。雖然Unix下有ChiliSoft的外掛程式來支援ASP,但是ASP本身的功能有限,必須通過ASP+COM的組合來擴充,Unix下的COM實現起來非常困難。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.