JSP概述及入門

在應用開發領域主要有兩大編程體系:基於瀏覽器的B/S和基於客戶端的C/S。開發B/S體系的結構項目主要採用三種服務器端語言:JSP、PHP、ASP.NET,這三種開發語言與不同的數據庫構成三種常用的開發組合:
JSP+Oracle、PHP+MySQL、ASP.NET+SQL Server

C/S:每個客戶端需要安裝應用程序,所有客戶端程序和中心服務器進行信息交互,這個結構的優點是用戶端程序一直,方便控制,服務器端和本地用戶的數據很容易進行交互,通信速度快,缺點是每個用戶都需要安裝客戶端,且不能很好的跨操作系統平臺;C/S結構的使用範圍:具有固定的用戶端或少量的用戶端,且對安全性要求較高的應用

B/S結構編程體系分爲瀏覽器端編程語言和服務器端編程語言,瀏覽器端編程語言包括HTML、CSS、JS,瀏覽器端編程語言指的是這些語言都是被瀏覽器解釋執行的,HTML和CSS是瀏覽器解釋執行,JS是直接在瀏覽器上執行
爲了實現一些連接數據庫、操作文件等複雜操作,需要使用服務器端語言,目前常用3P技術,Linux+PHP+MySQL構成了全免費的且非常穩定的應用平臺 *IBM–DB2,微軟–SQL Server

JSP的調用過程:WEB服務器遇到訪問JSP網頁的請求時,首先執行其中的程序片段,然後將執行結構以HTML格式返回給客戶,程序片段可以操作數據庫、重定向網頁已經發送Email等,這就是建立動態網頁所需要的功能。所有的程序操作做都愛服務器段執行,網絡上傳送給客戶端僅僅是得到的結果,對客戶瀏覽器要求極低。

JSP比其他2P語言的優勢:
1.JSPde執行效率高。由於每個基於JSP的頁面都被java虛擬機事先解析成一個Servlet,服務器通過網絡接受到來自客戶端HTTP的請求後,Java虛擬機解析產生的Servlet將開啓一個Thread來提供服務,並在服務處理結後自動銷燬這個Thread,這樣的處理方式大大提高了系統的利用率,並能有效的降低系統的負載
2.跨平臺:由於JSP運行在jAVA虛擬機上,所以它可以藉助java本身的跨平臺能力,在任何支持java的平臺和操作系統上運行
3.JSP可以嵌套在HTML和XML網頁中,可降低開發頁面顯示邏輯效果的工作量,也能提供輕便的方式來同其他Web程序交互
JSP技術原理:
JSP文件的執行方式是編譯式而非解釋式,即在執行JSP頁面時,是吧jsp文件先翻譯爲Servlet形式的java類型的字節碼文件,然後通過java虛擬機來執行,根據jsp相關規範,jsp語言必須在Servlet容器中執行(常用的Tomcat而且每個jsp頁面在被系統調用之前,必須先被Servlet容器解析成一個Servlet文件;當Servlet容器接受到一個jsp請求時,都會遵循如下步驟:
1.Servlet容器查詢所需要加載的jsp文件是否已被解析成servlet文件,如果眉頭,在servlet容器中找到對應的servlet文件,容器將根據jsp文件新建一個servlet文件;反之,如果在容器中已找到servlet文件,容器將比較兩者的時間,如果jsp文件的時間要晚與servlet文件,則說明次文件已被重新修改過,需要容器重新生成servlet文件,反之容器將使用原來的servlet文件
2.容器編譯好servlet被加載到servlet容器中,執行定義在該jsp文件裏的各項操作
3.sservlet容器生成響應結果,並返回給客戶端,jsp文件結束運行
動態網頁技術:
1.ASP:微軟公司提供技術文檔等支持,只需安裝windows操作系統和IIS即可使用ASP;無法跨平臺使用、無法完全實現企業級的功能–完全的集羣和負載均衡
2.PHP:與Apache結合緊密,良好的安全性(代碼開源)、安裝複雜、無法實現商品化應用的開發–由於PHP沒有任何編譯性的開發工作,所有的源代碼都無法編譯
3.JSP:JSP運行是使用class常駐內存來完成的,他還需要硬盤空間來儲存一系列的java文件和class文件以及對應的版本文件、jsp程序調試也不是很方便,jsp文件首先被轉化爲一個java文件(Servlet),然後再被編譯,這樣出錯信息實際上指的是經過轉化的那個java文件而不是jsp文件本身
J2EE的四層結構:
運行在客戶端機器上的客戶層組件
運行在J2EE服務器上的Web層組件
運行在J2EE服務器上的業務層組件
運行在數據虧服務器上的企業信息系統(EIS)層軟件

注意:理解JSP應用在Servlet容器上的運行原理,理解JSP頁面和Servlet響應客戶端請求的整個過程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章