jsp動態編譯
『壹』 jsp與.html頁面到底有什麼區別,區別在哪
HTML(Hypertext Markup Language)文本標記語言,它是靜態頁面,和javaScript一樣解釋性語言,為什麼說是解釋性 語言呢?因為,只要你有一個瀏覽器那麼它就可以正常顯示出來,而不需要指定的編譯工具,只需在TXT文檔中寫上HTML標記就OK。
JSP(Java Server Page)看這個意思就知道是Java服務端的頁面,所以它是動態的,它是需要經過JDK編譯後把內容發給客戶端去顯 示,我們都知道,Java文件編譯後會產生一個class文件,最終執行的就是這個class文件,JSP也一樣,它也要編譯成class文件!JSP不 止要編譯,它還得要轉譯,首先把JSP轉譯成一個Servlet文件,然後在編譯成class文件。當用戶訪問JSP時就執行了class文件,最 終......
1.最簡單的區別就是,HTML能直接打開,jsp只能發布到Tomact等伺服器上才能打開 。
2.定義上HTML頁面是靜態頁面可以直接運行,JSP頁面是動態頁它運行時需要轉換成servlet。
3.他們的表頭不同,這個是JSP的頭「 <%@ page language="java" import="java.util.*" pageEncoding="gbk"%>」在表頭中有編碼格式和倒入包等。
4.也是很好區分的在jsp中用<%%>就可以寫Java代碼了,而html沒有<%%>。
『貳』 JSP動態網站開發要分幾個方面
JSP在以下幾個方面做了改進,使其成為快速建立跨平台的動態網站的首選方案。
1.將內容的生成和顯示進行分離
用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面,並使用JSP標識或者小腳本來生成頁面上的動態內容(內容是根據請求變化的,例如請求賬戶信息或者特定的一瓶酒的價格等)。生成內容的邏輯被封裝在標識和JavaBeans組件中,並且捆綁在腳本中,所有的腳本在伺服器端運行。由於核心邏輯被封裝在標識和JavaBeans中,所以Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的生成。
在伺服器端,JSP引擎解釋JSP標識和腳本,生成所請求的內容(例如,通過訪問JavaBeans組件,使用JDBC技術訪問資料庫或者包含文件),並且將結果以HTML(或者XML)頁面的形式發送回瀏覽器。這既有助於作者保護自己的代碼,又能保證任何基於HTML的Web瀏覽器的完全可用性。
2.可重用組件
絕大多數JSP頁面依賴於可重用的、跨平台的組件(JavaBeans或者EnterpriseJavaBeans組件)來執行應用程序所要求的復雜的處理。開發人員能夠共享和交換執行普通操作的組件,或者使得這些組件為更多的使用者和客戶團體所使用。基於組件的方法加速了總體開發過程,並且使得各種組織在他們現有的技能和優化結果的開發努力中得到平衡。
3.採用標識
Web頁面開發人員不會都是熟悉腳本語言的編程人員。JSP技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態內容生成所需要的。標準的JSP標識能夠訪問和實例化JavaBeans組件,設置或者檢索組件屬性,下載Applet,以及執行用其他方法更難於編碼和耗時的功能。
4.適應平台
幾乎所有平台都支持Java,JSP+JavaBeans幾乎可以在所有平台下通行無阻。從一個平台移植到另外一個平台,JSP和JavaBeans甚至不用重新編譯,因為Java位元組碼都是標準的與平台無關的。
5.資料庫連接
Java中連接資料庫的技術是JDBC,Java程序通過JDBC驅動程序與資料庫相連,執行查詢、提取數據等操作。Sun公司還開發了JDBC-ODBCbridge,利用此技術Java程序可以訪問帶有ODBC驅動程序的資料庫,目前大多數資料庫系統都帶有ODBC驅動程序,所以Java程序能訪問諸如Oracle、Sybase、MSSQLServer和MSAccess等資料庫。
此外,通過開發標識庫,JSP技術可以進一步擴展。第三方開發人員和其他人員可以為常用功能創建自己的標識庫。這使得Web頁面開發人員能夠使用熟悉的工具和如同標識一樣的執行特定功能的構件來進行工作。
JSP技術很容易整合到多種應用體系結構中,以利用現存的工具和技巧,並且能擴展到支持企業級的分布式應用中。作為採用Java技術家族的一部分,以及Java2(企業版體系結構)的一個組成部分,JSP技術能夠支持高度復雜的基於Web的應用。
由於JSP頁面的內置腳本語言是基於Java的,而且所有的JSP頁面都被編譯成為JavaServlets,所以JSP頁面具有Java技術的所有好處,包括健壯的存儲管理和安全性。作為Java平台的一部分,JSP擁有Java編程語言「一次編寫,各處運行」的特點。
JSP的應用模型
利用JSP技術,動態信息由JSP頁面來表現,JSP頁面由安裝在Web伺服器或者使用JSP的應用伺服器上的JSP引擎執行。JSP引擎接受客戶端對JSP頁面的請求,並且生成JSP頁面作為對客戶端的響應。
JSP頁面通常被編譯成為JavaServlets,這是一個標準的Java擴展。頁面開發人員能夠訪問全部的Java應用環境,以利用Java技術的擴展性和可移植性。當JSP頁面第一次被調用時,如果它還不存在,就會被編譯成為一個JavaServlets類,並且存儲在伺服器的內存中。這就使得在接下來的對該頁面的調用中,伺服器會有非常快的響應(這避免了CGI-BIN為每個HTTP請求生成一個新的進程的問題)。
JSP頁面可以包含在多種不同的應用體系結構或者模型中,可以用於由不同協議、組件和格式所組成的聯合體中。基於JSP的動態信息發布技術是一個開放的、可擴展的建立動態Web頁面的標准。不論採用什麼創建工具,開發人員都可以使用JSP頁面來創建可移植的Web應用,在不同的Web應用伺服器上運行。
『叄』 JSP中動態INCLUDE與靜態INCLUDE的區別
動態INCLUDE在使用的時候,會先解析所要包含的頁面(你例子中的included.jsp),解析後在和主頁面放到一起顯示;
靜態INCLUDE在使用的時候,不會解析所要包含的頁面(你例子中的included.htm),也就是說,不管你的included.htm中有什麼,我的任務就是把你包含並顯示,其他的一概不管
jsp:include是先編譯一下included.jsp文件,然後再包含 先編譯,後包含
@ include是先把文件包含就來,然後統一編譯 先包含,後編譯
個人理解,希望能讓你理解