不要急,我與你一起學習JSP(二)——JSP的基本概述

一般教科書都喜歡讓人家先學習一些概念,之後再開始找平臺,我喜歡先乾點,有了一定的概念再談談那些講理論的事。

我們在上次搭建平臺時已經對 JSP 的平臺搭建及寫法有了相關的瞭解。我們這回來說一下理論方面的事。嗯。。。從哪開始呢???好吧從這裏開始(和沒說一樣)。得意


一、介紹一位新同學——JSP

JSP(全稱:Java Server Pages)是由 Sun MicroSystem公司(簡稱:Sun,現在被 Oracle 甲骨文公司收購)公司倡導、多家公司共同參與,並於1999年建立起來的一種動態網頁技術標準。在技術上,JSP 是基於 Java Servlet 以及整個 Java 體系的 Web 開發技術。在應用上,JSP 是一個服務器端技術。在服務器端通過JSP引擎解釋成JSP代碼,然後以HTML或XML之頁面形式發送至客戶端。JSP的寫法很也簡單,也就是將代碼加入到HTML中去,即可。這和 ASP、PHP 這兩種語言的使用方法相同(表要說 MVC 之流,那只是個框架)。


二、JSP的優勢與劣勢

1、JSP的優勢:

(1)一次編寫,到處運行,兼容性強,支持多種系統。

(2)支持服務器端組件。


2、JSP的劣勢

(1)爲了實現跨平臺性,系統複雜性強。

(2)由於第一次運行時,系統要自動編譯 JSP 代碼,所以產生大量的 .java,.class。


三、JavaEE 與 JSP 之間的關係

JavaEE 是 J2EE 的一個新的名稱,是 Java2 平臺企業版。


JSP 其實是最早的 JavaEE 規範之一,也是最經典的 JavaEE 技術之一。直到現在,JSP 依舊廣泛地應用於各種 JavaEE 當中,充當 JavaEE 的表現層角色。JSP具有簡單、易用的特點,學習道路之平坦也,國內又有大量之學習資料,所以Java學習的同學們在學習JavaEE時,都是先從JSP開始的。


在 JavaEE 中,除了用 JSP 外,還有 Servlet。兩個的原理皆一致。實際上 JSP是必須被服務器編譯成 Servlet 後,才運行的。所以,我們用得是 JSP 代碼,實際上卻是在操作的是Servlet。但Servlet的開發之成本過高,難於維護,不利於美工參與開發,所以實際上大都是用 JSP 來充當表現層的技術。


JSP 只能負責簡單的顯示邏輯,對於底層就無語了。。。這可怎麼辦,所以 JavaEE 就用到了 JavaBean (我以前的老師常叫他“Java豆”,實際上,官方也叫他DTO 【Data Transfer Object,數據傳輸對象】)來處理。

所以,如果在面試時,人家問你你寫得是 JSP,你要做 JavaEE,你就告訴他這個。大笑


四、JSP的運行機制

JSP 是服務器端技術,在服務器端 JSP 代碼將會被 JSP引擎解釋成 JSP代碼,最後以 HTML 或 XML 的頁面形式發送至客戶端,因而在客戶端那裏,我們是看不到任何 JSP 代碼,僅僅看到的是 W3C 所倡導的頁面標識。那他是如何在服務器上動作的呢,我們看一下。


1、當 JSP 頁面第一次被請求執行時,則 JSP 引擎會將 JSP  頁面解析成 Java 源文件(*.java)【如果是第二次執行(就是非新建,非原創),則不執行這一步】。


2、興奮的 JSP 引擎再把 Java 源文件編譯生成爲 Java Class 字節碼文件(*.class)。這個 Java Class 字節碼文件就是 Servlet【如果是第二次執行(就是非新建,非原創),則不執行這一步】。


3、Servlet 開始接收這個 Java Class 字節碼文件,JSP 引擎工作結束。


4、Servlet 運行這個 Java Class 字節碼文件,並把結果反回給客戶端(也就是用戶的PC機)。



沒辦法,我的美工水平太次了。。。哎。。。尷尬


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