首頁 > Java > java教程 > jsp運作原理是什麼

jsp運作原理是什麼

(*-*)浩
發布: 2020-09-18 15:53:38
原創
28319 人瀏覽過

JSP是Servlet的擴充,JSP沒出現之前,就已經出現了Servlet技術.Servlet是利用了"輸出流",動態的生成了HTML頁面。包括 每個HTML標籤和所有的HTML頁面中出現的內容,簡單點說就是利用Servlet的輸出流將HTML標籤產生一個HTML頁面。由於時間長了Servlet包含了大量的HTML標籤、大量的靜態文字及格式等,導致了Servlet的開發效率非常低下.

jsp運作原理是什麼

這時候JSP誕生了,JSP彌補了這種情況,JSP通過在標準的THML頁面中嵌入JAVA代碼,使其靜態的部分無需JAVA程序控制,只有那些需要從數據庫讀取或需要動態生成的頁面內容,才使用JAVA腳本控制。

JSP主要是由兩部分組成:

(1)靜態部分:標準的HTML標籤、靜態的頁面內容,這些內容與靜態HTML頁面相同.

(2)動態部分:Java程式控制的內容,這些內容由Java程式來動態產生。

下面是一個最簡單的一段jsp程式碼:

<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<html>
    <head>
        <title>欢迎</title>
    </head>
    <body>
        欢迎学习Java JSP!现在时间是:<%out.println(new java.util.Date());%>
    </body>
</html>
登入後複製

頁面中粗體字碼放在<%和%>之間,表示這些是Java腳本,而不是靜態內容,透過這種方式就可以把Java程式碼嵌入HTML頁面中,這就變成了動態的JSP頁面。從表面上來分析,JSP頁面已經不再需要Java類別,似乎感覺完全脫離了Java物件導向的特徵了,但是,實際上JSP是Servlet的一種特殊的形式,每一個JSP的頁面就是一個Servlet的實例。

工作原理

(1)當使用者造訪一個JSP頁面時,回想一個Servlet容器(Tomcat)發出請求;

(2)如果是第一次請求頁面,或頁面有所改動,則servlet容器首先要把JSP頁面(假設為test.jsp)轉換為Servlet程式碼(test.java),再將其轉換為(test. class檔案);因為這個過程(編譯)會耗費一定時間,所以第一次存取或jsp檔案有改動時,存取時間有些長;

(3)JSP容器負責呼叫從JSP轉換來的servlet,這些servlet負責提供服務相應用戶請求(例如客戶端發送表單,要求servlet:formprocessor.java來處理,則容器會建立一個線程,調用formprocessor.java來處理該請求);如果用戶有多個請求,則容器會建立多個執行緒處理多個請求;

(4)容器執行字節碼檔案(包括呼叫的servlet:formprocessor.java位元組嗎),並將其結果傳回客戶端; (回傳的最終方式是有servlet輸出html格式的檔案流)

註解:

JSP頁面必須在JSP伺服器內運作,如tomcat weblogic,jboss等等.(順便說一下,apache 和tomcat是兩碼事兒,有不少人認為
apache就是tomcat,其實是錯誤的理解!~,tomcat只是apache中的一個子項目,apache是​​作為WEB應用伺服器,而tomcat可以說是JSP或Servlet的一個web容器);
JSP頁面的訪客無須安裝任何客戶端,甚至不需要可以運行Java的運行環境,因為JSP頁面輸送到客戶端的是標準HTML頁面。

相關學習推薦:java基礎教學

以上是jsp運作原理是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
jsp
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板